vim 操作
啟動參數
- -p 可將多個檔案各別開到標籤頁
快速鍵
=文字重新排版、格式化za開關 fold.重複文字操作@:重複指令操作^/Home前往行開頭$/End前往行結尾g t/Ctrl+PageDown下一個標籤頁g shift+t/Ctrl+PageUp上一個標籤頁i在所在位置開始編輯a在所在位置之後開始編輯o往下開新行,並進入編輯shift+o往上開新行,並進入編輯
I在所在行開頭開始編輯d刪除選取範圍內的區塊d w往右刪除一個字 (用空白或符號斷字)d $刪除此行右邊所有字d ^刪除此行左邊所有字d d刪除整行d f 字元刪除從遊標到第一次出現指定字元內的字(不換行,包含該字元)
v字元選取shift+v行選取ctrl+v區塊選取
y複製 (其他刪除操作也會複製起來,只是此指令不會刪除)- 選取後 y 可複製選取範圍
- yy 複製整行
- yw 複製一個詞
- y$ 從遊標開始複製到該行結尾
- 以此類推
p貼上到後面shift+p貼上到前面
- w 前往遊標所在詞結尾
>>增加縮排<<減少縮排Ctrl+w s畫面橫向分割Ctrl+w v畫面垂直分割Ctrl+w h/Ctrl+w ←切換到左邊畫面,右 (l/→)、上 (j/↑)、下 (k/↓) 依此類推
Ctrl+x Ctrl+f自動完成檔案路徑Ctrl+x Ctrl+l整行自動完成,內建只會幫你從其他檔案找開頭一樣的行…Ctrl+u還原,在插入模式下可用Ctrl+w g f將游標所在行視為檔案路徑,打開到新的分頁Ctrl+w g F將游標所在行視為檔案路徑,打開到新的分頁並跳到指定行數qa開始錄製巨集 a,q停止錄製@a執行巨集 azz捲動畫面使游標在畫面垂直置中
指令
所有指令在沒有歧義的情況下可以省略後面的輸入,比如 tabedit 可以寫成 tabe
:tabedit在新頁籤打開檔案- :args dir/* | argdo tabedit 一次打開多個標籤頁 (會影響到目前所在標籤頁,待改良)
:tabmove +n目前標籤頁往後移n個:tabmove -n目前標籤頁往前移n個:tabmove n目前標籤頁移到第n個 (從 0 開始):s/a/b/g純文字替換 a 為 b,g 表示取代全部,/ 可以替換成其他符號以方便取代 / 本身,比如 :s#/#\#g:s/\v(\d+)/"\1"/g開頭的 \v 表示使用正規式做取代 (否則正規式需要依賴更多逃逸字元表示),\1 表示取前面的第一組 () 比對到的字串:qa關閉所有開啟的檔案:registers顯示所有暫存器狀態,暫存器就是 vim 的剪貼簿,簡寫成 :reg:nohlsearch取消目前的搜尋高亮,簡寫成 :noh:windo diffthis在分割畫面的情況下,可以將兩份內容做差異比對:s/XD/y A尋找包含字串 XD 的行,逐一複製進 a 暫存器的結尾 (暫存器大寫表示放到結尾)/XD尋找字串 XD- `/\v\d` 開頭的 \v 表示使用正規式尋找,此例是尋找所有數字
Leave a Comment