Linux Vim操作看這篇文章就夠了

一、什么是Vim

Vim是一個(gè)類似于Vi的著名的功能強(qiáng)大、高度可定制的文本編輯器梆奈,在Vi的基礎(chǔ)上改進(jìn)和增加了很多特性。代碼補(bǔ)全称开、編譯及錯(cuò)誤跳轉(zhuǎn)等方便編程的功能特別豐富,在程序員中被廣泛使用乓梨。和Emacs并列成為類Unix系統(tǒng)用戶最喜歡的文本編輯器鳖轰。

二、Vim鍵位圖

三扶镀、Vim的三種模式

Vim 有三種模式蕴侣,分別是命令模式輸入模式編輯模式臭觉,這 3 種工作模式可隨意切換昆雀。

1、命令模式

當(dāng)我們用Vim 編輯文件時(shí)蝠筑,默認(rèn)處于命令模式狞膘。此模式下,敲擊鍵盤動(dòng)作會(huì)被識(shí)別為命令什乙,而非輸入字符挽封,可使用方向鍵(↑、↓臣镣、←辅愿、→)或 k、j忆某、h点待、i 移動(dòng)光標(biāo)的位置。

命令模式下常用的幾個(gè)命令:

命令 功能描述
i 切換到輸入模式弃舒,可以輸入字符
x 刪除當(dāng)前光標(biāo)所在處的字符
: 切換到編輯模式癞埠,可以底部光標(biāo)閃爍處輸入命令

2、輸入模式

在命令模式下按 i 鍵進(jìn)入輸入模式,按 Esc 鍵即可返回命令模式燕差。

在輸入模式下遭笋,Vim 可以對(duì)文件執(zhí)行寫操作,按鍵及功能描述見下表徒探。

按鍵 功能描述
i 在當(dāng)前光標(biāo)所在位置插入隨后輸入的文本
I 相當(dāng)于光標(biāo)移動(dòng)到行首瓦呼,再執(zhí)行 i 命令
o 在光標(biāo)所在行的下面插入新的一行
O 在光標(biāo)所在行的上面插入新的一行
a 在當(dāng)前光標(biāo)所在位置之后插入隨后輸入的文本
A 相當(dāng)于光標(biāo)移動(dòng)到行尾,再執(zhí)行a命令
Enter 回車鍵测暗,換行
Backspace 刪除光標(biāo)前一個(gè)字符
Delete 刪除光標(biāo)后一個(gè)字符
Home/End 移動(dòng)光標(biāo)到行首/行尾
Page Up/Page Down 上/下翻頁(yè)
Esc 退出輸入模式央串,切換到命令模式

3、編輯模式

在命令模式下按下:(英文冒號(hào))碗啄,進(jìn)入編輯模式质和。

編輯模式可以輸入單個(gè)或多個(gè)字符的命令,可用的命令非常多稚字。在后面使用實(shí)例中會(huì)做介紹饲宿。

按ESC鍵可隨時(shí)退出編輯模式。


四胆描、Vim 使用實(shí)例

1瘫想、打開文件

打開一個(gè)自己編寫的文件,默認(rèn)進(jìn)入命令模式:

[root@wayne:~]# vim myvim.txt
image-20230309162950054

文件的下方會(huì)顯示文件的一些信息昌讲,包括文件的總行數(shù)和字符數(shù)国夜,以及當(dāng)前光標(biāo)所在的位置等。

2短绸、編輯文件

在命令模式之中车吹,按下 i, o, a 中的任意一個(gè)字符進(jìn)入輸入模式,此時(shí)左下角狀態(tài)欄中會(huì)出現(xiàn) –INSERT- 的字樣醋闭。

Vim 插入文本

在輸入模式中窄驹,除了 Esc 鍵之外,其他的按鍵都可以視作為一般的輸入按鍵证逻。

image-20230309165424079

Vim 查找文本

快捷鍵 功能描述
/abc 從光標(biāo)所在位置向前查找字符串 abc
/^abc 查找以 abc 為行首的行
/abc$ 查找以 abc 為行尾的行
?abc 從光標(biāo)所在為主向后查找字符串 abc
n 向同一方向重復(fù)上次的查找指令
N 向相反方向重復(fù)上次的查找指定

如查找字符串 "new"

image-20230309165809043

Vim 替換文本

快捷鍵 功能描述
:s/old/new 用new替換當(dāng)前行第一個(gè)old
:s/a1/a2/g 將當(dāng)前光標(biāo)所在行中的所有 a1 用 a2 替換
:n1,n2s/a1/a2/g 將文件中 n1 到 n2 行中所有 a1 都用 a2 替換
:%s/a1/a2/g 將文件中所有的 a1 都用 a2 替換
:%s/^/xxx/g 在每一行的行首插入xxx馒吴,^表示行首
:%s//xxx/g ?在每一行的行尾插入xxx,/xxx/g在每一行的行尾插入xxx瑟曲,表示行尾

如替換”new” 為 ”old ”

image-20230309170722205

Vim 刪除文本

快捷鍵 功能描述
x 刪除光標(biāo)所在位置的字符
dd 刪除光標(biāo)所在行
ndd 刪除當(dāng)前行(包括此行)后 n 行文本
dG 刪除光標(biāo)所在行一直到文件末尾的所有內(nèi)容
D 刪除光標(biāo)位置到行尾的內(nèi)容
:a1,a2d 函數(shù)從 a1 行到 a2 行的文本內(nèi)容

如按dd刪除第3行

image-20230309174510739

Vim 復(fù)制粘貼文本

快捷鍵 功能描述
p 將剪貼板中的內(nèi)容粘貼到光標(biāo)后
P(大寫) 將剪貼板中的內(nèi)容粘貼到光標(biāo)前
y 復(fù)制已選中的文本到剪貼板
yy 將光標(biāo)所在行復(fù)制到剪貼板饮戳,此命令前可以加數(shù)字 n,可復(fù)制多行
yw 將光標(biāo)位置的單詞復(fù)制到剪貼板

如先按yy洞拨,復(fù)制第3行扯罐,再按p粘貼

image-20230309174623476

3、保存退出

輸入模式是不可以直接切換到編輯模式的烦衣,需要先按下 Esc鍵回到命令模式歹河,此時(shí)左下角的 – INSERT – 會(huì)消失掩浙。再按下:(英文冒號(hào)),進(jìn)入編輯模式秸歧。

命令 功能描述
:wq 保存并退出 Vim 編輯器
:wq! 保存并強(qiáng)制退出 Vim 編輯器
:q 不保存就退出 Vim 編輯器
:q! 不保存厨姚,且強(qiáng)制退出 Vim 編輯器
:w 保存但是不退出 Vim 編輯器
:w! 強(qiáng)制保存文本
:w filename 另存到 filename 文件
x! 保存文本键菱,并退出 Vim 編輯器
ZZ 直接退出 Vim 編輯器

五谬墙、Vim 其他按鍵說(shuō)明

快捷鍵 功能描述
:set nu 顯示行號(hào),設(shè)定之后经备,會(huì)在每一行的前綴顯示該行的行號(hào)
:set nonu 與 set nu 相反拭抬,為取消行號(hào)!
[Ctrl] + [f] 屏幕『向下』移動(dòng)一頁(yè)侵蒙,相當(dāng)于 [Page Down]按鍵 (常用)
[Ctrl] + [b] 屏幕『向上』移動(dòng)一頁(yè)造虎,相當(dāng)于 [Page Up] 按鍵 (常用)
[Ctrl] + [d] 屏幕『向下』移動(dòng)半頁(yè)
[Ctrl] + [u] 屏幕『向上』移動(dòng)半頁(yè)
+ 光標(biāo)移動(dòng)到非空格符的下一行
- 光標(biāo)移動(dòng)到非空格符的上一行
0 或功能鍵[Home] 這是數(shù)字『 0 』:移動(dòng)到這一行的最前面字符處 (常用)
$ 或功能鍵[End] 移動(dòng)到這一行的最后面字符處(常用)
H 光標(biāo)移動(dòng)到這個(gè)屏幕的最上方那一行的第一個(gè)字符
M 光標(biāo)移動(dòng)到這個(gè)屏幕的中央那一行的第一個(gè)字符
L 光標(biāo)移動(dòng)到這個(gè)屏幕的最下方那一行的第一個(gè)字符
G 移動(dòng)到這個(gè)檔案的最后一行
nG n 為數(shù)字。移動(dòng)到這個(gè)檔案的第 n 行
gg 移動(dòng)到這個(gè)檔案的第一行纷闺,相當(dāng)于 1G 命令
u 撤銷前一個(gè)動(dòng)作(常用)
[Ctrl]+[r] 恢復(fù)上一個(gè)動(dòng)作(常用)
. 重復(fù)前一個(gè)動(dòng)作 (常用)

以上算凿,如果覺得對(duì)你有幫助,點(diǎn)個(gè)贊再走吧犁功,這樣@知微之見也有更新下去的動(dòng)力氓轰!

也歡迎私信我,一起交流波桩!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市请敦,隨后出現(xiàn)的幾起案子镐躲,更是在濱河造成了極大的恐慌,老刑警劉巖侍筛,帶你破解...
    沈念sama閱讀 218,204評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件萤皂,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡匣椰,警方通過(guò)查閱死者的電腦和手機(jī)裆熙,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,091評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)禽笑,“玉大人入录,你說(shuō)我怎么就攤上這事〖丫担” “怎么了僚稿?”我有些...
    開封第一講書人閱讀 164,548評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)蟀伸。 經(jīng)常有香客問(wèn)我蚀同,道長(zhǎng)缅刽,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,657評(píng)論 1 293
  • 正文 為了忘掉前任蠢络,我火速辦了婚禮衰猛,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘刹孔。我一直安慰自己啡省,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,689評(píng)論 6 392
  • 文/花漫 我一把揭開白布芦疏。 她就那樣靜靜地躺著冕杠,像睡著了一般。 火紅的嫁衣襯著肌膚如雪酸茴。 梳的紋絲不亂的頭發(fā)上分预,一...
    開封第一講書人閱讀 51,554評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音薪捍,去河邊找鬼笼痹。 笑死,一個(gè)胖子當(dāng)著我的面吹牛酪穿,可吹牛的內(nèi)容都是我干的凳干。 我是一名探鬼主播,決...
    沈念sama閱讀 40,302評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼被济,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼救赐!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起只磷,我...
    開封第一講書人閱讀 39,216評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤经磅,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后钮追,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體预厌,經(jīng)...
    沈念sama閱讀 45,661評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,851評(píng)論 3 336
  • 正文 我和宋清朗相戀三年元媚,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了轧叽。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,977評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡刊棕,死狀恐怖炭晒,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情甥角,我是刑警寧澤腰埂,帶...
    沈念sama閱讀 35,697評(píng)論 5 347
  • 正文 年R本政府宣布,位于F島的核電站蜈膨,受9級(jí)特大地震影響屿笼,放射性物質(zhì)發(fā)生泄漏牺荠。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,306評(píng)論 3 330
  • 文/蒙蒙 一驴一、第九天 我趴在偏房一處隱蔽的房頂上張望休雌。 院中可真熱鬧,春花似錦肝断、人聲如沸杈曲。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,898評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)担扑。三九已至,卻和暖如春趣钱,著一層夾襖步出監(jiān)牢的瞬間涌献,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,019評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工首有, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留燕垃,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,138評(píng)論 3 370
  • 正文 我出身青樓井联,卻偏偏與公主長(zhǎng)得像卜壕,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子烙常,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,927評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容