vim的基本操作


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或 ,移動到行開始(注意是數字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選中要折疊的文本,鍵入zfzo,打開折疊;zr,打開所有折疊;zc,關閉折疊,zm,關閉所有折疊

對齊

左對齊:{range}left[margin],range是需要進行對齊的行范圍,margin是對齊后的行首距離窗口最左邊的距離。例::90,100 left 0 左對齊
右對齊:{range}right[width],range是需要進行對齊的行范圍,width是對齊后每行的長度

保存文件

:w,存盤
:w 文件名,存盤至文件

退出vim

:q,退出
:wq,保存退出
:q!,強制退出


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM