vim編輯器
vi/vim編輯器
-
vi是一款很多unix及其延伸系統內建的文字編輯器,具有強大的文字編輯能力。
-
vim是從vi發展出來的一個文字編輯器,可以理解為vi編輯器的增強版。vim中程式碼補完、編譯及錯誤跳轉等方便程式設計的功能特別豐富。
-
vi/vim編輯器的核心設計思想:讓程式設計師的手指始終保持在鍵盤的核心區域, 就能完成所有的編輯操作。
-
學習使用vi/vim編輯器最大挑戰:萬物皆命令。
vi/vim 3種工作模式
-
命令模式(Command mode)
- 命令模式下,所敲的按鍵編輯器都理解為命令,以命令驅動執行不同的功能。
- 此模型下,不能自由進行文字編輯。
-
輸入模式(Insert mode)
- 也就是所謂的編輯模式、插入模式。
- 此模式下,可以對檔案內容進行自由編輯。
-
底線命令模式(Last line mode)
- 以:開始,通常用於檔案的儲存、退出。
命令模式<-->輸入模式
-
i 進入到編輯輸入模式後,定位到當前游標前面
-
o 進入到編輯輸入模式後,在當前行的後面新增一行空行(當前行的下一行)
-
輸入模式下按ESC退回到命令模式
命令模式<-->底線命令模式
-
在命令模式下,輸入:進入底線命令模式。
-
常用的底線命令有:
- :q 退出
- :w儲存
- :wq 儲存退出
- :wq! 強制儲存退出
提示:在命令模式下按下shift + zz,可以實現快速的儲存退出
開啟與新建檔案
vim /path/file
-
如果開啟的檔案不存在,此時就是新建檔案,編輯器左下角會提示new file
-
如果檔案已經存在,此時就開啟這個檔案,進入命令模式
開啟時異常處理
-
原因:編輯時非正常退出,資料沒有儲存,vim編輯器把未儲存內容寫入一個隱藏的swp檔案。
-
現象:下次開啟時,提示使用者如何處理上次未儲存的內容。
-
解決:
- 可以根據提示進行開啟、編輯、恢復、刪除、退出等操作
- 也可以直接使用rm 刪除swp這個隱藏檔案。
- O、E、R、D、Q、A分別代表開啟、編輯、恢復、刪除、退出
游標移動
-
方向鍵控制移動
-
命令 hjkl移動
-
翻頁 pageup pagedown
-
行首(home 0) 行尾(end $)
-
跳到檔案的最後一行 G
-
跳到檔案的第一行 gg
複製貼上
-
複製
- yy 複製游標當前所在行內容
- nyy 複製當前行往下n行
-
貼上
- p(小寫) 當前行的下一行貼上
- P (大寫)當前行的上一行貼上
注意:使用滑鼠從window或者其他地方複製內容到vim編輯器貼上,一定要在輸入模式下進行,否則資料會有丟失的風險。
搜尋替換(在命令模式下使用)
-
搜尋 /待搜尋的內容,回車進行搜尋,搜尋到的結果會高亮顯示
- n跳轉到下一個搜尋到的內容,N跳轉上一個
- :noh 清除搜尋匹配之後的高亮顯示
-
替換
- :2,4s/原內容/替換內容/gc
- 沒有g的時候,替換每一行匹配的到的第一個。g表示替換這一行的所有匹配到的
- c表示替換前給使用者提示
注意:如果需要進行全域性替換 所謂第一行到最後一行
-
:1,$s/原內容/替換內容/gc
-
:%s/原內容/替換內容/gc
刪除、撤銷操作
-
刪除命令
- dd 刪除游標所在當前行內容
- ndd 刪除當前行往下n行
-
撤銷、反撤銷
- u 撤銷上一步的操作(後悔藥)
- ctrl+r 反撤銷