Vim常用命令及用法


1切換插入模式:
命令模式下

a                                (小寫)光標之後進行插入
A                                (大寫)光標所在行尾進行插入
i                                 (小寫)光標前開始進行插入
I                                (大寫)光標所在行首進行插入
o                                (小寫)光標所在行後新插入一空行進行插入
O                                (大寫)光標所在行前新插入一空行進行插入
插入模式下按ESC鍵返回命令模式
2 切換到編輯模式
命令模式下按【:】進入編輯模式,鍵入命令回車後自動返回到命令模式或按ESC鍵返回到命令模式。
3 保存文件
編輯模式下
:w                            (小寫)保存文件
​:wq                         (小寫)保存並退出vim
:w 文件名1            將文件另存爲文件名1
:ZZ                          (大寫)保存文件並退出,相當於:wq
:wq!                        (小寫)文件所有者強制保存只讀文件,如果不是文件所有者進行此操作,不能成功
:q!                                退出不保存文件
4 複製(yank)
命令模式下

yy或 Y                     複製光標所在整行
y^                         複製到光標所在行行首,不包括光標位置字符
y$                         複製到光標所在行行尾,包括光標位置字符
yw                         複製一個單詞,光標必須在單詞首部
yG                         複製到文件尾
y1G                        複製到文件首
nyy                        複製光標所在行開始的n行
5 粘貼
命令模式下

p                                (小寫)粘貼到光標後
P                                (大寫)粘貼到光標前
6 刪除
命令模式下

x                                (小寫)刪除光標前一個字符
X                                (大寫)刪除光標後一個字符
dd                                (小寫)刪除光標所在整行
dw                                (小寫)刪除光標所在處一個單詞
dG                                刪除光標所在整行到文件尾
dgg                        刪除光標所在整行到文件首
D                                (大寫)刪除到行尾,包含光標處的字符
d$                                與D效果相同
d0                                刪除到行首,不包含光標處的字符
d^                                與d0效果相同
:n1,n2d                編輯模式下,刪除n1-n2行
7撤銷
命令模式下

u                        (小寫)無限次保存前撤銷(大概500多次)

ctrl+r                 redo

8 字符替換
命令模式下

r                        (小寫)替換光標所在處一個字符
R                        (大寫)開始替換,直到按ESC鍵退出替換,相當於按下鍵盤上到insert鍵
cc                        (小寫)取代光標所在整行
S                        (大寫)與ss(小寫)效果相同
C                        (大寫)取代到行尾,包括光標處字符
c0                        (小寫,數字0)取代到行首,不包括光標處字符
c^                        (小寫)與c0(小寫,數字0)效果相同
9 字符串查找和替換
命令模式下

/string                從光標處開始向下開始查找字符串string
/查找模式下按n(小寫)查找下一個,按N(大寫)查找上一個
?string        從光標處開始向上開始查找字符從string
?查找模式下按n(小寫)查找上一個,按N(大寫)查找下一個
*                        向下完整匹配光標下的單詞
#                        向上完整匹配光標下的單詞
g*                        向下部分匹配光標下的單詞
g#                        向上部分匹配光標下到單詞
編輯模式下
:set ic                查找時,忽略大小寫
:set noic        取消查找時忽略大小寫
:f string        (小寫f與string有空格)搜索一行中匹配到的string
:%s/old/new/g        全文將old替換爲new,不提示
:%s/old/new/c        全文將old替換爲new,提示是否替換
:n1,n2s/old/new/g        n1-n2行中,將old替換爲new,不提示
:n1,n2s/old/new/c        n1-n2行中,將old替換爲new,提示是否替換
在替換文本old或new中有/字符時,需要用\進行轉義
10 顯示行號
編輯模式下

:set nu(mber)                顯示行號
:set nonu                        取消顯示行號
:set nu!                        取消顯示行號

11 簡單排版
編輯模式下

:ce(nter)                居中顯示光標所在行
:ri(ght)                靠右顯示光標所在行
:le(ft)                        靠左顯示光標所在行
命令模式下
J                                將光標所在下一行合併到光標所在行
>>                                光標所在行增加縮進(一個tab)
<<                                光標所在行減少縮進(一個tab)
n>>                        光標所在行開始的n行增加縮進
n<<                        光標所在行開始的n行減少縮進
12 書籤
命令模式下
mx                設定書籤,x是任意一個字母,通常小寫(a-z),x爲小寫字母時,侷限在一個文件之間切換;大寫字母時,可在文件之間切換.
`x                (`位於數字鍵1旁邊)跳轉到書籤x
編輯模式下
:marks                        查看標籤
13 光標移動方式
命令模式下

H                        (大寫,Head)移動到屏幕頂第一個非空白字符
M                        (大寫,Mid)移動到屏幕中間第一個非空白字符
L                        (大寫,Last)移動到屏幕底部第一個非空白字符
(                        (左小括號)移動到上一個句子首
)                        (右小括號)移動到下一個句子首
{                        (左大括號)移動到上一個段落首
}                        (右大括號)移動到下一個段落首
%                        光標跳轉到匹配到括號處,支持{}()
[[                        光標跳轉到代碼塊開頭即{處,要求{獨佔一行
gD                        光標跳轉到局部變量定義處
''                        (兩個單引號)光標跳轉到上次停靠處
h                        (小寫)光標左移一個字符,相當於左方向鍵
l                        (小寫)光標右移一個字符,相當於右方向鍵
k                        (小寫)光標垂直上移一行,相當於上方向鍵
j                        (小寫)光標垂直下移一行,相當於下方向鍵
ctrl+f                (forword)向下整頁翻頁
ctrl+b                (backward)向上整頁翻頁
ctrl+u                (up)向上翻半頁
ctrl+d                (down)向下翻半頁
zz                        (小寫)讓光標所在行居於屏幕中央
zt                        (小寫)讓光標所在行居於屏幕最頂部
zb                        (小寫)讓光標所在行居於屏幕底部
編輯模式下
:n                        指定移動到第n行
14 數字前綴與重複
命令模式下
將數字加在命令前,標示該命令處理幾次,如5dd標示執行5次dd(刪除光標所在整行)操作。
.        (英文句號)爲命令重複命令,按下一次執行一次上一次執行過的命令。
15 瀏覽目錄
編輯模式下
:e 目錄                列出指定目錄下的文件和目錄
16 vim技巧
技巧1 導入文件或shell命令執行結果
編輯模式下

:r 文件名1                將文件1內容引入到本文件中
:!shell命令                在vim中執行shell命令,執行完後按回車會到vim界面
:r !shell命令        (r與!之間有空格)將shell命令執行的結果導入到本文件中
技巧2 自定義快捷鍵操作
編輯模式下

:map ^x 命令        (map與^之間、x與命令之間有空格,此處到^並非鍵盤上的^,而是按下ctrl+v出現到快捷鍵,表示ctrl鍵,後面到x爲任意字母)按下ctrl+x後會執行對應到命令
例:
:map ^p I#<ESC> 當按下ctrl+p快捷組合鍵時,在光標所在行行首添加一個#號,並回到命令模式
技巧3 連續行註釋
編輯模式下

:n1,n2/^/#/g                (#號爲註釋符號,在shell中註釋符號爲#,C++中爲//)
:n1,n2/^/\/\//g        C++源文件多行連續註釋
技巧4 替換
:ab string1 string2        在vim中輸入string1按空格或回車後,string1會自動替換爲string2
:unab string1                        取消string1的替換
vim配置文件
~/.vimrc
可將編輯模式下的命令寫在裏面,每個命令單獨一行,這樣每次啓動時,會自動執行裏面的命令。
發佈了115 篇原創文章 · 獲贊 12 · 訪問量 26萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章