vim的基本操作
- 啟動vim
在終端中輸入命令:vim在終端界面或者是gvim獨立出來一個窗口。 - 文本輸入
在正常模式下輸入字符“a”或者是“i”進入文本編輯模式。 - 文件保存
文本輸入完畢后按下Esc鍵,進入正常模式,然后輸入冒號“:”,接下來輸入“w test.txt”,這樣就能將內容寫入到test.txt中去。 - 退出vim
進入命令行模式
輸入“:wq”即為保存並退出;
輸入“:q”即為退出;
輸入“:wq test.txt”即為將內容寫入到test.txt並保存退出;
vim常用的命令
vim設計之初宗旨在於只用鍵盤操作就可以快速完成vim所有的操作,因此vim命令眾多。以下是vim較為常用的部分命令(以下命令在正常模式下輸入,前綴帶有冒號的命令表示命令模式下執行)
- 進入vim
- vim,啟動vim
- vim 文件名,啟動vim並打開或者新建文件
光標移動
1、移動
h,向左移動一個字符
l,向右移動一個字符
j,向下移動一行
k,向上移動一行
2、行首行尾
0或
$或
^,移動到當前行的第一個非空白字符上
g_,移動到當前行的最后一個非空白字符上
3、移動詞首尾
w,移動到下個單詞的詞首
b,移動到上個單詞的詞首
e,移動到下個單詞的詞尾
ge,移動到上個單詞的詞首
4、跳轉指定行
nG,跳轉到指定的第n行
gg,跳轉到第一行
5、屏幕適應
G,跳轉到最后一行
M,跳轉到當前屏幕的中間一行
L,跳轉到當前屏幕的尾行
ZZ,將當前行放到屏幕中央
搜索
1、單字符
fx,在當前行上查找下一個字符x
Fx,在當前行上查找上一個字符x
2、字符串
/,向下搜索。先鍵入/,再輸入想要搜索的字符串,然后回車。.*[]%/?~$這些具有着特殊的意義,如果想要搜索這些字符本身,需要在前面加上反斜線\ **/**,向上搜索。先鍵入?,再輸入想要搜索的字符串,然后回車。.*[]%/?~$這些具有着特殊的意義,如果想要搜索這些字符本身,需要在前面加上反斜線\
3、Word
將光標置於Word上,*代表向后查找,#代表向前查找
vim搜索到的字符一般處於高亮狀態,如果你想跳到下一個匹配的字符串,鍵入n,如果是跳到上一個則是N。
/<word>,只查找word這個單詞- /<word>,只查找word這個單詞
移動到匹配的括號上
%,默認的匹配括號包括三種:()[]{}。當多層次時能夠迅速匹配,如果想加入新的匹配符號"<>",可以做如下命令:set mps+=<:>
跳轉到修改點
'.,跳到最后修改的那一行
.**,跳到最后修改的那一點 **gd**,跳轉到文件第一次出現的地方,通常是變量定義的地方 **ma**,用字母a標記當前光標所在的位置,這里a可以是任意字母 **a,跳轉到a處
``,跳轉到上一次光標所在處
vim中基本的編輯命令形式:編輯命令+作用范圍
刪除:d 復制:y 改變:c(改變的含義為刪除並進行插入)
刪除
1、行
dd,刪除當前行,3dd刪除3行
dw,刪除光標所在位置到下一個字的第一個字母(包括空格)
cw,刪除光標所在位置到下一個字的第一個字母(不包括空格)
dfx,刪除光標所在位置到本行中下一個字符x出現的位置
2、單詞
daw,刪除一個單詞(包括詞尾空格)
diw,刪除一個單詞(不包括詞尾空格)
3、話
das,刪除一句話
4、字符
x,刪除當前光標下的字符
nx,刪除光標后n個字符,例如3x
nX,刪除光標前n個字符,例如3X
復制/粘貼
nyy,將當前n行放入緩沖區
yy,復制一整行
p,將緩沖區的內容放到當前行下面
P,將緩沖區的內容放到當前位置的上面
撤消/重做
u,恢復上一條命令
.,重復一條命令
替換 [range]substitute/from/to/[flags]
1、利用命令行進行選中范圍的替換
“-”代表當前行;“$”代表最后一行;“%”代表對所有的進行操作,如果不指定范圍,則只替換本行的對象
“+-”相對偏移量,例如:與其等價的描述是在當前行鍵入“5:”,在vim的左下角就會出現等價的描述“.,.+4”,含義為表示從當前行下到當前行的第5行這個范圍內進行替換操作。
substitute/from/to 可以用s來替換
flags 這個附加參數包括i(不區分大小寫)g(替換一行中所有符合的字符串)p(列出所有被改變的行)c(在執行每個替換前都要求用戶確認) 如果不指定參數,那么只替換一行中第一次被發現的目標字符串
😒/p1/p2/g,將當前行中所有p1均用p2替換
%s/p1/p2/,將當前所有的文本進行替換
:n1,n2s/p1/p2/g,將第n1行至n2行中所有的p1均用p2替換
:.,.+4s/p1/p2/g,將光標所在的當前行直至當前行的下面4行中所有的p1均用p2替換
:g/p1/s//p2/g,將文件中所有的p1均用p2替換
2、字符替換
ra,用字母a替換當前光標下的字符
R,可以實現多字符替換,其實也就是shift+r鍵
大小寫轉化
visual下,鍵入hjkl選中區域
U,小寫變大寫
u,大寫變小寫
U,小寫變大寫- U,小寫變大寫
單詞補齊
Ctrl - p 插入模式下進行單詞補齊(向前查找單詞)
Ctrl - n 插入模式下進行單詞補齊(向后查找單詞)
折疊
- normal模式下,移到所要的行,鍵入zf18j(折疊光標以下18行)
- visual模式下,用jklh選中要折疊的文本,鍵入zf,zo,打開折疊;zr,打開所有折疊;zc,關閉折疊,zm,關閉所有折疊
對齊
左對齊:{range}left[margin],range是需要進行對齊的行范圍,margin是對齊后的行首距離窗口最左邊的距離。例::90,100 left 0 左對齊
右對齊:{range}right[width],range是需要進行對齊的行范圍,width是對齊后每行的長度
保存文件
:w,存盤
:w 文件名,存盤至文件
退出vim
:q,退出
:wq,保存退出
:q!,強制退出
