Linux系統提高編輯效率的vim工具重要知識
表7-1 vi/vim命令的參數選項及說明
表7-22命令 | 說明 |
普通模式:移動光標的操作 | |
G或(shift+g) | 將光標移動到文件的最後一行 |
gg | 將光標移動到文件的第一行,等價於1gg或1G |
0 | 數字0,將光標從所在位置移動到當前行的開頭 |
$ | 從光標所在位置將光標移動到當前行的結尾 |
n<Enter> | n為數字,<Enter>為回車鍵,將光標從當前位置向下移動n行。 |
ngg | n為數字,移動到文件的第n行,如11gg可移動到第11行,可配合“:set nu”查看,同nG |
H | 光標移動到當前窗口最上方的那一行 |
M | 光標移動到當前窗口中間的那一行 |
L | 光標移動到當前窗口最下方的那一行 |
h或(←) | 光標向左移動一個字符 |
j或(↓) | 光標向下移動一個字符 |
k或(↑) | 光標向上移動一個字符 |
l或(→) | 光標向右移動一個字符 |
普通模式:搜索與替換操作 | |
/oldboy | 從光標位置開始,向下尋找名為oldboy的字符串 |
?oldboy | 從光標位置開始,向上尋找名為oldboy的字符串 |
n | 從光標位置開始,向下重復前一個搜索的的動作 |
N | 從光標位置開始,向上重復前一個搜索的的動作 |
:g/A/s//B/g | 把符合A的內容全部替換為B,斜線為分隔符,可以用@、#等替代 |
:%s/A/B/g | 把符合A的內容全部替換為B,斜線為分隔符,可以用@、#等替代 |
:n1,n2s/A/B/gc | n1、n2為數字,在第n1行和n2行間尋找A,用 |
普通模式:復制、粘貼、刪除等操作 | |
yy | 復制光標所在的當前行 |
nyy | n為數字,復制光標開始向下共n行 |
p/P | p將已復制的數據粘貼到光標的下一行,P則為粘貼到光標的上一行 |
dd | 刪除光標所在的當前行 |
ndd | n為數字,刪除從光標開始向下共n行 |
u | 恢復(回滾)前一個執行過操作 |
. | 點號。重復前一個執行過的動作 |
x | 向後刪除字符 |
X | 向前刪除字符 |
d1G | 刪除當前行至第一行 |
dG | 刪除當前行至最後一行 |
d0 | 刪除當前光標文本至行首 |
d$ | 刪除當前光標文本至行尾 |
進入編輯模式命令 | |
i | 在當前光標所在處插入文字 |
a | 在當前光標所在下一個字符處插入文字 |
I | 在當前所在行的行首第一個非空格符處開始插入文字,和A相反 |
A | 在當前所在行的行尾最後一個字符處開始插入文字,和 |
O | 在當前所在行的上一行處插入新的一行 |
o | 在當前所在行的下一行處插入新的一行 |
Esc | 退出編輯模式,回到命令模式中 |
命令行模式 | |
:wq | 退出並保存 |
:wq! | 退出並強制保存,“!”為強制的意思 |
:q! | 強制退出,不保存 |
:n1,n2 w filename | n1、n2為數字,將n1行到n2行的內容保存成filename這個文件 |
:n1,n2 co n3 | n1、n2為數字,將n1行到n2行的內容拷貝到n3位置下 |
:n1,n2 m n3 | n1、n2為數字,將n1行到n2行的內容挪至n3位置下 |
:!command | 暫時離開vi到命令行模式下執行command的顯示結果!例如 :! ls /etc |
:set nu | 顯示行號 |
:set nonu | 與set nu相反,取消行號 |
:vs filename | 垂直分屏顯示,同時顯示當前文件和filename對應文件的內容 |
:sp filename | 水平分屏顯示,同時顯示當前文件和filename對應文件的內容 |
I + # + Esc | 在可視塊模式下(Ctrl + v), 一次性註釋所選的多行,取消註釋可用:n1,n2s/#/ /gc[t1] ,這裏操作是一個通用的方法,#號可以換成別的操作,例如tab鍵,這樣就是批量縮進 |
Del | 在可視塊模式下(Ctrl + v),一次性刪除所選內容 |
r | 在可視塊模式下(Ctrl + v),一次性替換所選內容 |
內容來自老男孩2018年7月出版的新書《跟老男孩學Linux運維:核心系統基礎實踐》第7章 ,敬請期待。
[t1]這是幾種方法?如果是多種方法,各方法間請用頓號。
Linux系統提高編輯效率的vim工具重要知識