上一小篇Linux程序編輯器(一)中,已經介紹了vim的三個模式,接下來說明下vim的一些常用按鍵,方便編輯文本或程序時更加迅速快捷。
第一部分(一般模式)
一般模式中,光標移動、復制粘貼、查找替換等功能,如下表所示
移動光標的方法 | |
---|---|
h或者向左箭頭鍵(←) | 光標向左移動一個字符 |
j或者向左箭頭鍵(↓) | 光標向下移動一個字符 |
k或者向左箭頭鍵(↑) | 光標上移動一個字符 |
l或者向左箭頭鍵(→) | 光標向右移動一個字符 |
如果想多次移動的話,向下移動30行,可以使用”30j”或”30↓” | |
[Ctrl]+[f] | 屏幕向下移動一頁 |
[Ctrl]+[b] | 屏幕向上移動一頁 |
[Ctrl]+[d] | 屏幕向下移動半頁 |
[Ctrl]+[u] | 屏幕向上移動半頁 |
0或者功能鍵[Home] | 這是數字”0”:移動到這一行的最前面字符處 |
$或者功能鍵[End] | 移動到這一行的最后面字符處 |
G | 移動到這個文件的最后一行 |
nG | n為數字。移動到這個文件的第n行。例如20G則會移動到這個文件的第20行(可配合:set nu) |
gg | 移動到這個文件的第一行,相當于1G |
N[Enter] | n為數字。光標向下移動n行 |
:n1,n2s/word1/word2/g | n1和n2為數字。在第n1和n2行之間尋找word1這個字符串,并將該字符串替換為word2。 |
:1,$s/word1/word2/g | 從第一行到最后一行查找word1字符串,并將該字符串替換為word2。 |
:1,$s/word1/word2/gc | 從第一行到最后一行查找word1字符串,并將該字符串替換為word2。且在替換前顯示提示字符給用戶確認(comfirm)是否需要替換 |
刪除、復制與粘貼 | |
x,X | 在一行字當中,x為向后刪除一個字符(相當于[Del]按鍵),X為向前刪除一個字符(相當于[Backspace]按鍵) |
dd | 刪除光標所在的那一整行 |
yy | 復制光標所在的那一行 |
nyy | n為數字。復制光標所在的向下n行 |
p,P | p為將已復制的數據在光標下一行粘貼,P則為粘貼在光標上一行 |
u | 復原前一個操作 |
[Ctrl]+r | 重做上一個操作 |
. | 這是個小數點。意思是重復前一個操作的意思。如果你想要重復刪除、重復粘貼等操作,按下小數點”.”就好了 |
第二部分(一般模式切換到編輯模式的可用按鍵)
進入插入或替換的編輯模式 | |
---|---|
i,I | 進入插入模式(Insert mode):i為從目前光標所在處插入,I為在目前所在行的第一個非空格符處開始插入 |
a,A | 進入插入模式(Insert mode):a為從目前光標所在的下一個字符處開始插入,A為從光標所在行的最后一個字符處開始插入 |
o,O | 進入插入模式(Insert mode):這是英文字母o的大小寫。o為從目前光標所在的下一行處插入新的一行;O為在目前光標所在處的上一行處插入新的一行 |
r,R | 進入替換模式(Insert mode):r只會替換光標所在的那一個字符一次;R會一直替換光標所在的文字,直到按下[Esc]鍵為止 |
[Esc] | 推出編輯模式,回到一般模式中 |
第三部分(一般模式切換到命令行模式的可用按鍵說明)
命令行的保存、離開等命令 | |
---|---|
:w | 將編輯的數據寫入硬盤文件中 |
:q | 離開vi |
:q! | 若曾修改過文件,又不想存儲,使用"!"為強制離開不保存文件 |
:wq | 保存后離開,若為":wq!"則為強制保存后離開 |
:w[filename] | 將編輯的數據保存成另一個文件 |
:! command | 暫時離開vi到命令行模式執行command的顯示結果。例如"! ls /home"即可在vi當中查看/home下面以ls輸出的文件信息 |
vim環境的更改 | |
:set nu | 顯示行號,設置之后,會在每一行的前綴顯示該行的行號 |
:set nonu | 與set nu相反,為取消行號 |
vim的各個命令,要多練習才能熟練喔!