Linux基礎(chǔ)之 Vim

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 n1n2
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ù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 公司新員工學(xué)習(xí)有用到,Vim官網(wǎng)的手冊(cè)又太大而全,而網(wǎng)上各方資料要么不全面,要么不夠基礎(chǔ)。在網(wǎng)上搜集各方資料,按照...
    甲魚閱讀 163,495評(píng)論 43 685
  • 公司新員工學(xué)習(xí)有用到,Vim官網(wǎng)的手冊(cè)又太大而全,而網(wǎng)上各方資料要么不全面,要么不夠基礎(chǔ)。在網(wǎng)上搜集各方資料,按照...
    夏時(shí)花開閱讀 2,694評(píng)論 1 31
  • macvim配置 最終效果如下: 系統(tǒng)環(huán)境 macos10.12.4 homebrew1.2.1 python3....
    Like_eb56閱讀 70,826評(píng)論 5 65
  • Vim 系列教程目錄: Vim 1 基本使用 Vim 2 高級(jí)用法 Vim 3 vimrc Vim 4 常用插件 ...
    高原zz閱讀 1,673評(píng)論 0 2
  • https://www.cnblogs.com/subconscious/p/5058741.html http:...
    白敏鳶閱讀 194評(píng)論 0 0

友情鏈接更多精彩內(nèi)容