天天看點

Linux系統提高編輯效率的vim工具知識

表7-22指令 說明
普通模式:移動光标的操作
G或(shift+g) 将光标移動到檔案的最後一行
gg 将光标移動到檔案的第一行,等價于1gg或1G
數字0,将光标從所在位置移動到目前行的開頭
$ 從光标所在位置将光标移動到目前行的結尾
n<Enter> n為數字,<Enter>為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,用B替換
普通模式:複制、粘貼、删除等操作
yy 複制光标所在的目前行
nyy n為數字,複制光标開始向下共n行
p/P p将已複制的資料粘貼到光标的下一行,P則為粘貼到光标的上一行
dd 删除光标所在的目前行
ndd n為數字,删除從光标開始向下共n行
u 恢複(復原)前一個執行過操作
. 點号。重複前一個執行過的動作
x 向後删除字元
X 向前删除字元
d1G 删除目前行至第一行
dG 删除目前行至最後一行
d0 删除目前光标文本至行首
d$ 删除目前光标文本至行尾
進入編輯模式指令
i 在目前光标所在處插入文字
a 在目前光标所在下一個字元處插入文字
I 在目前所在行的行首第一個非空格符處開始插入文字,和A相反
A 在目前所在行的行尾最後一個字元處開始插入文字,和I相反
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),一次性替換所選内容

轉載于:https://www.cnblogs.com/panshihao/p/9674909.html

繼續閱讀