=============轉貼==============
Vim的操作小技巧
Vim的操作除了基本的
hjkl
之外,快速鍵組合相當多,不過大概有個規則。以下是我自己個人比較常會用到,而且覺得還滿方便的操作小技巧,寫起來幫自己加深記憶,希望也對有需要的朋友有幫助。說明
- Enter = 按下enter鍵,Ctrl = 按下ctrl鍵,Alt = 按下alt鍵,如果是大寫字母例如G = shift + g,Ctrlwj = 按著ctrl鍵不放,再按下w,再按下j
- 這裡提到的都是Vim或是plugin內建的指令,如果你不喜歡或覺得難按,可以透過修改
.vimrc
來改變快速鍵的對映 - 以下指令都是在一般模式(Normal Mode)下使用
游標移動
- gg = 移到整份文件的最上方
- G = 移到整份文件的最下方
- H = 移到目前螢幕的最上方
- L = 移到目前螢幕的最下方
- 10Enter = 游標往下移動10行,前面的數字表示行數
- :10Enter = 游標直接移動到第10行
- {、} = 把游標移動到上一個、下一個段落
- Ctrlwj = 把游標往下面的分割視窗移動
- Ctrlwk = 把游標往上面的分割視窗移動
- Ctrlwh = 把游標往左邊的分割視窗移動
- Ctrlww = 在各個分割視窗間切換
建議可以搭配 EasyMotion 更有效率的移動游標
搜尋
- / = 搜尋
- * = 移往下一個搜尋結果
- # = 移往上一個搜尋結果
編輯
- u = undo,回到上一步
- Ctrlr = redo,回復undo
- . = 重複上一個步驟
- ~ = 改變英文字母的大小寫,本來大寫會變小寫,小寫會變大寫
:m+
= 把目前這一行往下移動一行:m-2
= 把目前這一行往上移動一行- >>、<< = 增加、減少縮排
- yy或Y = 複製游標所在的這一整行
- p、P = 在游標之後、之前貼上複製的內容
- "ayy = 跟yy有點像,但是是把複製的東西放到
a 暫存器
裡,這個a
可以用其它25個英文字母代替,可以用:reg
指令把目前的暫存器叫出來看 - "ap = 在游標之後貼上
a 暫存器
裡的內容
模式切換
- Esc 或 Ctrl[ = 回到命令模式,ESC是獨立一顆比較好按,但比較遠,如果你不想讓你的手離開打字區的話,可以選用
CTRL [
,或是在~/.vimrc
裡自訂快速鍵 - Ctrlv = visual block模式,可進行像TextMate按住alt鍵的區塊選取
NERDTree
- B = 叫出bookmark
- C = 把目前游標停留的這個目錄設定為根目錄
- p = 把游標移動到上一層目錄
- P = 把游標移動到根目錄
- J = 把游標移往這個結點的第一個
- K = 把游標移往這個結點的最後一個
- u = 把樹狀結構的根目錄往上移一層
- I = 切換是否顯示隱藏檔案
- m = 叫出NERDTree的系統選單
其它
:!
= 執行外部指令,例如:!ls
則是執行ls
指令
參考資料
這裡有幾篇我覺得寫得很棒的文章,可以更清楚的知道在Vim裡操作的原理
- Vim Text Objects: The Definitive Guide
- Learn to speak vim – verbs, nouns, and modifiers!
- 大家來學Vim,雖然是將近10年前的文件,但很多還是適用
Vim的快速鍵組合如果用得熟的話,整個編輯的過程中是幾乎可以不動到滑鼠的,不過還是要多練習啦,差不多練到跟吃飯睡覺一樣熟練就可以了。打完收工 :wq
沒有留言:
張貼留言