前言 vi/vim的區(qū)別
vim 是 vi 的升級版本,它不僅兼容vi的所有指令柬批,還有新增了一些新的特性啸澡。
vi filename
vim filename
# 兩者同樣的功能,能少敲一個字母氮帐,所以我們就用vi吧
Mac 終端鍵入 vimtutor 即可進入Vim入門教程嗅虏,30分鐘足以讓你應對Vim日常操作。
常規(guī)操作
命令 |
說明 |
x |
刪除光標下的字符 |
X |
刪除光標左邊的字符 |
s |
修改一個字符(與r的區(qū)別上沐,修改后直接進入Insert模式) |
i |
光標前插入字符 |
a |
光標后插入字符 |
A |
行尾插入字符 |
o |
光標下方新建一行并進入Insert模式 |
O (字母) |
光標上方新建一行并進入Insert模式 |
r |
替換字符(單個) |
R |
替換字符(多個) |
cw |
替換文本直到單詞末尾(ce也可) |
c$ |
替換文本直到行尾 |
dw |
刪除單詞 (de, d2w) |
d$ |
刪除到行尾 |
D |
刪除到行尾 |
S |
刪除到行為皮服,并進入Insert模式 |
dd |
刪除整行 |
y |
復制 |
yy |
復制整行 (yw, ye) |
p |
粘貼到光標之后 |
P |
粘貼到光標之前 |
u |
撤銷 |
. |
重復上一次操作 |
:! |
執(zhí)行外部名 (:!dir/:ls) |
% |
查找配對的括號 ), }, ] |
v motion :w |
選擇性保存 |
Ctrl + D |
查看可能的補全 |
光標移動
命令 |
說明 |
h |
左 |
l |
右 |
k |
上 |
j |
下 |
0 (數字) |
行首 |
$ |
行尾 |
w |
下一個單詞起始處 |
nw (2w) |
n可為數字,表示移動兩個單詞 |
e |
單詞末尾(與w的區(qū)別) |
gg |
文件起始處 |
G |
文件末尾處 |
退出
命令 |
說明 |
:wq |
保存并退出 |
ZZ |
保存并退出 |
:q! |
丟棄修改并退出 (q退出,有修改的話q不能退出) |
:e! |
丟棄修改并打開原文件 |
查找并替換
命令 |
說明 |
:s/old/new/g |
查找old并替換為new龄广,g代表整行匹配 |
:#, #s/old/new |
#, #代表首尾行號 |
:%s/old/new/g |
全文匹配替換 |
:%s/old/new/gc |
全文匹配替換硫眯,并每次替換會彈出確認提示 |
翻頁
命令 |
說明 |
Ctrl + e |
向下滾動一行 |
Ctrl + y |
向上滾動一行 |
Ctrl + f |
向下翻一頁 |
Ctrl + b |
向上翻一頁 |
Ctrl + u |
向上翻半頁 |
Ctrl + d |
向下翻半頁 |
文件操作
命令 |
說明 |
:e + filename |
打開新文件 |
:r + filename |
讀取文件并插入到當前文件 |
選項設置
命令 |
說明 |
:set ic |
忽略大小寫 |
:set is |
部分匹配(like) |
:set hls |
高亮匹配 |
:set nu |
顯示行號 |
分屏啟動vim
命令 |
說明 |
vim -on file1 file2... |
水平分屏 |
vim -On file1 file2... |
垂直分屏 |
關閉分屏
命令 |
說明 |
Ctrl + w c |
關閉當前窗口(如果是最后一個,無法關閉) |
Ctrl + w q |
關閉當前窗口(如果是最后一個择同,則退出vim) |
分屏
命令 |
說明 |
Ctrl + w s |
上下分屏 |
Ctrl + w v |
左右分屏 |
:sp filename |
左右分屏两入,且打開一個新的文件 |
:vsp filename |
上下分屏,且打開一個新的文件 |
切換分屏(光標切換)
命令 |
說明 |
Ctrl + w l |
右邊 |
Ctrl + w h |
左邊 |
Ctrl + w j |
上邊 |
Ctrl + w k |
下邊 |
分屏尺寸調整
TIPS: (上下分屏生效)
命令 |
說明 |
Ctrl + w = |
所有屏一樣高度 |
Ctrl + w + |
增加高度 |
Ctrl + w - |
減少高度 |
在此推薦易水博客的《Vim使用進階》https://blog.easwy.com/archives/advanced-vim-skills-catalog/系列敲才,干貨滿滿裹纳。