Vim 是Linux/Unix平臺(tái)的一款使用復(fù)雜、功能十分強(qiáng)大、且又非常常用的文本編輯器。它有非常多的快捷鍵、熟練掌握它們,能極大的提高工作效率。
一,選項(xiàng)
Vim 命令自身便集成很多選項(xiàng),在打開文件時(shí)使用:
| 選項(xiàng) |
用途 |
| +n |
打開定位到指定行 |
| + |
打開定位到最后一行 |
| +/pattern |
打開定位到第一個(gè)匹配到的行 |
| -b |
打開二進(jìn)制文件;:%!xxd 進(jìn)入編輯模式,%!xxd -r 切換到二進(jìn)制模式 |
| -m |
只讀模式打開 |
| -e |
直接進(jìn)入ex模式 |
二,命令模式
文件打開后默認(rèn)進(jìn)入命令模式,此時(shí)可用的快捷鍵以及對(duì)應(yīng)的功能有:
光標(biāo)移動(dòng)
| 快捷鍵 |
功能 |
h j k l
|
字符間跳轉(zhuǎn): 5h,5j,5k,5l分別代表向左,下,上,右移動(dòng)5個(gè)字符 |
w e b
|
單詞間跳轉(zhuǎn): 下一個(gè)單詞的詞首; 當(dāng)前或下一個(gè)單詞的詞尾; 當(dāng)前或上一個(gè)單詞的詞首 |
H M L
|
頁面間跳轉(zhuǎn): 當(dāng)前頁首; 當(dāng)前頁中; 當(dāng)前頁尾 |
zt zz zb
|
移動(dòng)光標(biāo)所在行到: 頁首,頁中,頁尾 |
0 ^ $
|
行內(nèi)移動(dòng): 行首;行首第一個(gè)非空白字符;行尾 |
G nG gg
|
行間移動(dòng): 最后一行; 第n行; 第一行 |
) (
|
句間移動(dòng): 下一句; 上一句 |
} {
|
段落間移動(dòng): 下一段; 上一段 |
文本剪輯
| 快捷鍵 |
功能 |
x |
剪切當(dāng)前字符 |
p P
|
粘貼到后面/前面 |
J |
刪除當(dāng)前行后的換行符 |
r |
替換 |
R |
替換模式 |
d |
刪除,借助定位符(參考光標(biāo)移動(dòng))進(jìn)行特定刪除 |
y |
復(fù)制,借助定位符(參考光標(biāo)移動(dòng))進(jìn)行特定復(fù)制 |
d/y/vi"/(/[/{ |
刪除/復(fù)制/選中符號(hào)對(duì)里面的內(nèi)容 |
d/y/vtw |
刪除/復(fù)制/選中直到下一個(gè)指定(此處為w)字符 |
u |
撤銷,nu 撤銷最近n次操作;ctrl r 取消之前的撤銷操作 |
. |
重復(fù),n. 重復(fù)上一次操作n次 |
U |
撤銷當(dāng)前行的所有操作 |
i I o O a A |
進(jìn)入編輯模式 |
: |
擴(kuò)展模式 |
ZQ |
不保存退出 |
ZZ |
保存退出 |
- 備注:
在命令模式下,vim 同時(shí)提供有可視化,寄存器,標(biāo)記和宏等特性,鑒于本人工作中基本沒有用到,在此不做說明,有需要的讀者可以自行搜索
三,編輯模式
進(jìn)入編輯模式后,便可以像其他所有文本編輯器一樣,進(jìn)入內(nèi)容的插入和修改操作,此種模式下無快捷鍵可用,編輯完成后可以通過esc或者ctrl c退出進(jìn)入命令模式
四,擴(kuò)展模式
保存退出
| 快捷鍵 |
功能 |
r filename |
讀入文件的內(nèi)容 |
w filename |
將當(dāng)前內(nèi)容另存到另一個(gè)文件 |
! |
執(zhí)行shell命令 |
r! |
讀入命令的輸出 |
w |
保存 |
q q!
|
退出,強(qiáng)制退出 |
地址邊界
| 表達(dá)式 |
意義 |
n |
指定行 |
n1,n2 |
從 n1 到 n2
|
n1,+n2 |
從 n1 起到n1 + n2之后 |
. |
當(dāng)前行 |
$ |
最后一行 |
% |
全文 |
/pattern1, /pattern2 |
從 pattern1 匹配行到 pattern2 匹配行 |
查找搜索
| 表達(dá)式 |
意義 |
/pattern |
向下搜索 |
?pattern |
向上搜索 |
n |
下一個(gè),命令同方向 |
N |
上一個(gè),命令反方向 |
替換模式
| 表達(dá)式 |
意義 |
s###[g/gc] |
將第一對(duì) # 中的內(nèi)容替換成 第二對(duì) #的內(nèi)容,g代表整行 c代表詢問 |
\n |
后向引用 |
& |
整體引用 |
特性定制
Vim的特性定制可以通過配置文件 /etc/vimrc (全局模式) 或者 ~/.vimrc(用戶模式)配置完成,這種設(shè)置會(huì)永久生效;也可以在擴(kuò)展模式下臨時(shí)設(shè)置,僅在當(dāng)前會(huì)話有效
| 表達(dá)式 |
意義 |
set nu / set nonu |
顯示/取消 行號(hào) |
set ic / set noic |
忽略/敏感 大小寫 |
set ai / set noai |
自動(dòng)/非自動(dòng) 縮進(jìn) |
set hlsearch / set nohlsearch |
高亮/非高亮 顯示 |
syntax on / syntax off |
語法 高亮/非高亮 |
set fileformat=unix/dos |
設(shè)置文本格式 |
set tw = 72 |
設(shè)置行寬 |
set cur / set no cur |
顯示/不顯示 光標(biāo)所在行 |
set paste / set nopaste |
是否粘貼格式 |
set all |
顯示幫助 |
五,多窗口操作
Vim 提供多窗口和多文件操作模式,對(duì)操作熟練度要求很高,在此推薦另外一種操作簡(jiǎn)單而功能強(qiáng)大的命令行復(fù)用工具:tmux
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。