年底了,故事總是會有很多。
剛了一波通宵加班,趁着有時間,過了一遍Vim教程,順便彙總下常用命令。
對於以 OSX / Linux爲開發環境的夥伴們,應該並不陌生。因其輕便,擴展性,可定製化,一直很受開發者追捧。高階大神,袖中必有深藏。
Vim編輯器簡潔易用,在終端上可用來快速查看修改文檔。雖然與其他編輯器如WebStrom, VScode相比,功能擴展相對欠缺,對新手朋友不太友好。但勝在多數Linux系統已附帶,開箱即用,終端直接使用,無需多開一個應用窗口
Vim學習的過程不是兩三天即可入境,懶惰如筆者,幾天不敲,命令忘的七八。時不時還得翻出來看看,至今仍以新手自居。
作爲一名前端開發工程師,如果你想秀操作用Vim來寫HTML/CSS/JavaScript,我只想說一句,“小夥子,你很6啊!”。
前言 vi/vim的區別
vim 是 vi 的升級版本,它不僅兼容vi的所有指令,還有新增了一些新的特性。
vi filename
vim filename
// 兩者同樣的功能,能少敲一個字母,所以我們就用vi吧
“工具總須多磨,方纔用的趁手。”
Mac 終端鍵入 vimtutor
即可進入Vim入門教程,30分鐘足以讓你應對Vim日常操作。
常規操作
命令 | 說明 |
---|---|
x | 刪除光標下的字符 |
X | 刪除光標左邊的字符 |
s | 修改一個字符(與r的區別,修改後直接進入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 | 撤銷 |
. | 重複上一次操作 |
:! | 執行外部名 (:!dir/:ls) |
% | 查找配對的括號 ), }, ] |
v motion :w | 選擇性保存 |
Ctrl + D | 查看可能的補全 |
光標移動
命令 | 說明 |
---|---|
h | 左 |
l | 右 |
k | 上 |
j | 下 |
0 (數字) | 行首 |
$ | 行尾 |
w | 下一個單詞起始處 |
nw (2w) | n可爲數字,表示移動兩個單詞 |
e | 單詞末尾(與w的區別) |
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說喜歡真不容易,按耐不住就新開VScode。
少年莫慌,很多事情,難在開頭,當你學會了,纔會感謝當初的付出。
本文僅對常用的一些命令做了彙總,Vim的玩法還有很多。在此推薦易水博客的《Vim使用進階》系列,乾貨滿滿。
寒梅飄香,這個寒冬,與諸君互勉。
參考文檔:
作者:以樂之名
本文原創,有不當的地方歡迎指出。轉載請指明出處。