Vim完全可以用鍵盤進行操作。本文將常用的按鍵歸納總結。
第一部分:一般模式可用的按鈕,如光標移動、復制粘貼、查找替換等
移動光標的方法
| h, j, k, l | 光標向左,下,上,右移動 |
| Ctrl + f / b | 屏幕向下/上移動 |
| Ctrl + d / u | 屏幕向下/上移動半頁 |
| 0 | 移動到一行的最前面 |
| $ | 移動到一行的最后面字符 |
| H / M / L | 移動到屏幕最上方/中央/最下方那一行的第一個字符 |
| G | 移動到文件的最后一行 |
| nG / ngg | 移動到文件的第n行 |
| gg | 移動到文件的第一行 |
| n[Enter] | 向下移動n行 |
查找與替換
| /word | 向下查找word字符串 |
| ?word | 向上查找word字符串 |
| n | 代表重復前一個查找動作 |
| N | 代表反向重復前一個查找動作 |
| : s/old/new | 將第一個old替換為new |
| : s/old/new/g | 將一行中所有的old替換為new |
| :n1, n2s/word1/word2/g | 將行n1與n2之間的word1替換為word2 |
| :%s/old/new/g | 將文件所有的old替換為new |
| :%s/old/new/gc | 替換前要求確認 |
刪除、復制與粘貼
| x/X | 向后/前刪除一個字符 |
| nx | 連續刪除n個字符 |
| dd | 刪除整行 |
| ndd | 刪除n行 |
| d1G | 刪除光標所在到第一行數據 |
| dG | 刪除光標所在到最后一行數據 |
| d$ | 刪除光標所在到該行最后一個字符 |
| d0 | 刪除光標所在到該行最前面一個字符 |
| yy | 復制光標所在的一行 |
| nyy | 向下復制n行 |
| y1G | 復制光標所在到第一行數據 |
| yG | 復制光標所在到最后一行數據 |
| y$ | 復制光標所在到該行最后一個字符 |
| y0 | 復制光標所在到該行最前面一個字符 |
| p/P | 粘貼數據在光標下/上一行 |
| J | 將光標所在行與下一行數據結合成同一行 |
| u | 回撤前一操作 |
| Ctrl + r | 重做前一操作 |
| . | 重復前一個操作 |
第二部分:一般模式切換到編輯模式
進入插入或替換的編輯模式
| i, I | 進入插入模式: i從當前光標所在處插入,I在目前所在行的第一個非空格符處插入 |
| a, A | 進入插入模式: a從當前光標所在的下一個字符插入,A從光標所在行的最后一個字符后插入 |
| o, O | 進入插入模式: o從當前光標所在行的下一行插入新的一行;O正好相反,從上一行插入新行 |
| r, R | 進入替換模式: r只會替換光標所在的那一個字符一次;R會一直替換光標所在文字,直到Esc |
塊選擇
| v | 字符選擇,將光標經過的地方反白選擇 |
| V | 行選擇,將光標經過的行反白選擇 |
| Ctrl + v | 塊選擇,可以用長方形選擇數據 |
| y | 將反白的地方復制 |
| d | 刪除反白的地方 |
多窗口
| :sp filename | 打開新窗口,如果有加filename,新窗口打開新文件,否則打開相同文件 |
| Ctrl + w + s/v | 水平/垂直分割打開新窗口 |
| Ctrl + w + h/j/k/l | 光標移動到左/下/上/右窗口 |
| Ctrl + w + q | 退出窗口 |

