寫在前面,
致敬
8月3日,Vim創(chuàng)始人Bram Moolenaar去世,在此向老爺子致敬!感謝他為這個世界帶來的優(yōu)秀編輯器Vim。
基本介紹
Vim全稱叫Vi IMproved. 而vi則是Visual Interface的縮寫,他們處理都是ASCII碼字符數(shù)據(jù);vim 是vi的升級版本,它不僅兼容vi的所有指令,而且還有一些新的特性在里面。例如語法加亮,可視化操作不僅可以在終端運(yùn)行,也可以運(yùn)行于x window、 mac os、 windows。
熟練使用vim絕對是你成為Linux大牛不可或缺的本領(lǐng),但其命令復(fù)雜,需要一定的時間。
在Ubuntu終端下執(zhí)行sudo apt-get install vim #安裝Vim
。
三種模式
在Vim中,打開一個文件后,并不處在編輯模式,而是Normal模式(命令模式),命令模式下可完成一些查找、光標(biāo)移動等操作,不對文件做手動編輯;
若要手動錄入文本內(nèi)容,應(yīng)該按i進(jìn)入vim編輯器的insert模式(輸入模式);輸入模式按Esc退回normal命令模式。
除此以外,還有一種特殊的模式可以執(zhí)行文件保存、退出編輯器、查找替換等操作,稱為“末行模式”。
因此,不同的操作切記要進(jìn)入正確的模式:
Esc到Normal命令模式;
Normal下按i到insert輸入模式;
Normal命令模式下按冒號:到末行模式。
vim編輯器三種模式之間的切換關(guān)系、按鍵操作如下:
1. Normal模式(命令模式)
啟動Vim后,Vim會處于Normal模式。在Vim的Normal模式下,所有的鍵就是功能鍵,下面附上Vim功能鍵分布圖,每個按鍵都具有一定的功能:
命令模式下的基本操作:
(1)光標(biāo)跳轉(zhuǎn):按gg跳轉(zhuǎn)至文件第一行的行首、按G跳轉(zhuǎn)至文件最后一行的行首。
(2)復(fù)制、粘貼、刪除操作:按向下箭頭鍵將光標(biāo)移動某處,再按2yy,將會復(fù)制光標(biāo)處開始的2行內(nèi)容(若直接按yy則只復(fù)制一行) 。再將光標(biāo)移動至要粘貼處,然后按下p,完成粘貼操作。
(3)查找關(guān)鍵詞:按gg鍵回到文件開頭,輸入 /initdefault[關(guān)鍵字] 可在整個文件內(nèi)查找“initdefault“關(guān)鍵詞,并高亮顯示;按 n 鍵跳轉(zhuǎn)至第2個匹配結(jié)果,再按一次n鍵跳轉(zhuǎn)至第3個匹配結(jié)果。
2、insert模式(輸入模式)
在Normal模式下,按下鍵盤上的i鍵入Insert輸入模式(當(dāng)然還有其他方式,比如按下a、o、O等,i是最常用的方法),當(dāng)你在Vim左下角看到 -Insert- 字體,表明你已經(jīng)進(jìn)入Vim的Insert輸入模式。
在Insert模式輸入下,你可以自由的輸入你想要輸入的東西了,就像使用其他編輯器一樣。
3、末行模式
也叫 Visual模式。在Normal命令模式下,按鍵盤v鍵進(jìn)入Visual模式,左下角會有VISUAL字樣。在Visual末行模式下,可以讓你選擇文件的一部分內(nèi)容,以便進(jìn)行刪除、復(fù)制等操作。
Vim三個基本模式之間的切換
每次切換模式都要按Esc鍵先切換到Normal模式,即命令模式。當(dāng)然也可以用CTRL+[ 或CTRL-C 先切到命令模式(CTRL-C 主要用來強(qiáng)制中止VIM正在執(zhí)行的各種很耗時的操作)。
1、Normal命令模式<-----> Insert輸入模式
用Vim打開文件,默認(rèn)就是Normal命令模式。此時按下鍵盤i、a、o、I即可進(jìn)入Insert輸入模式。在編輯模式中,按Esc就可返回到Normal命令模式。如果你不確定是否進(jìn)入了Normal模式,可以多次按下Esc鍵。
進(jìn)入編輯模式按鍵的含義:
i 在光標(biāo)所在字符前開始輸入文字(insert)。
a 在光標(biāo)所在字符后開始輸入文字(append)。
o 在光標(biāo)所在行下開一新行來輸入文字(open)。
I 在行首開始輸入文字。
2、Normal命令模式<----->Visual末行模式
在Normal命令模式下,按鍵盤v鍵進(jìn)入Visual模式,左下角會有VISUAL字樣。在Visual末行模式下,按下鍵盤上的Esc鍵回到Normal命令模式。
在Normal命令模式下,按鍵盤冒號:鍵進(jìn)入Visual模式,表示要輸入vim命令;可輸入的命令如下:
:q 退出(更確切的說應(yīng)該是關(guān)閉當(dāng)前文件)
:w 文件名 保存。如果還是保存為當(dāng)前文件,不必寫文件名
:wq 保存并退出(退出后自動進(jìn)入Normal命令模式)
:q! 強(qiáng)制退出不保存
:wq! 強(qiáng)制保存并退出。 保存時遇到E45 readonly option is set (add!to override)可用。
刪除單行內(nèi)容 :將光標(biāo)移動到需要刪除的行,按一下ESC鍵,確保退出編輯模式,
按兩次鍵盤上面的d鍵,就可以刪除了。
刪除多行: 將光標(biāo)移動到需要刪除的行,按一下ESC鍵,確保退出編輯模式,文章來源:http://www.zghlxwxcb.cn/news/detail-647794.html
在dd命令前面加上要刪除的行數(shù)。例如,如果要刪除第4行以下的3行,請按下 3 dd文章來源地址http://www.zghlxwxcb.cn/news/detail-647794.html
到了這里,關(guān)于Vim學(xué)習(xí)(一)——基本命令與三種模式的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!