相信大家在使用各種各樣強(qiáng)大的 IDE 寫代碼時(shí)都會(huì)注意到,代碼中各種類型的關(guān)鍵字會(huì)用獨(dú)特的顏色標(biāo)記出來(lái),然后形成一套語(yǔ)法高亮規(guī)則。這樣不僅美觀,而且方便代碼的閱讀。而在上古神器 Vim 中,我們通常看到的是黑底白字,沒有任何其它顏色。難道我們的 Vim 就這么枯燥乏味嗎?當(dāng)然不是,Vim 隱藏了非常多非常實(shí)用的功能與技巧,不是老司機(jī)根本就不知道。下面來(lái)詳細(xì)介紹。在開始之前,我們要先檢查一下系統(tǒng)中是否安裝了 Vim 編輯器。一般來(lái)說(shuō) Ubuntu 系統(tǒng)是默認(rèn)自帶的,沒有的小伙伴請(qǐng)先自行安裝。 $ sudo apt-get install vim
然后我們運(yùn)行以下命令來(lái)查看安裝好的 Vim 編輯器的版本。接下來(lái),我們就可以為 Vim 編輯器添加配色方案。為了能看出效果,我們準(zhǔn)備了一個(gè)名為 login.sh 的 bash 文件,它的內(nèi)容如下:!/bin/bash
echo 'Type your username' read username echo 'Type your password' read password
if [[ ( $username == 'admin' && $password == 'secret' ) ]]; then echo 'Authorized user' else echo 'Unauthorized user' fi
運(yùn)行以下命令使用 Vim 編輯器打開該文件:啟用/禁用語(yǔ)法高亮顯示有些發(fā)行版的 Vim 編輯器已經(jīng)幫你默認(rèn)啟用語(yǔ)法高亮,而有些發(fā)行版卻沒有。如果沒有默認(rèn)打開語(yǔ)法高亮,那么我們就需要自行打開。打開的方法其實(shí)也很簡(jiǎn)單。在 Vim 編輯器中打開 login.sh 文件后,按 ESC 鍵并鍵入 :syntax on ,語(yǔ)法高亮顯示就打開了,非常方便。同樣,關(guān)閉語(yǔ)法高亮也很簡(jiǎn)單,只需按 ESC 鍵并鍵入 :syntax off 即可。永久啟用或禁用語(yǔ)法高亮顯示剛剛那種打開語(yǔ)法高亮的方法只是暫時(shí)性的,一旦當(dāng)前文件關(guān)閉,下次打開文件就需要重新打開語(yǔ)法高亮。如果想要永久啟用或禁用語(yǔ)法高亮顯示,就需要修改 .vimrc 文件。首先,我們使用 Vim 打開 .vimrc 文件。然后,在打開的文件中添加一句 syntax on 命令,代表永久啟用語(yǔ)法高亮顯示。最后再輸入 :wq 保存并關(guān)閉文件。如果想要永久禁用語(yǔ)法高亮,則添加 syntax off 命令即可。改變配色方案在默認(rèn)情況下,打開語(yǔ)法高亮后 Vim 為你應(yīng)用了一套默認(rèn)的配色方案,而實(shí)際上 Vim 還有很多套配色方案可供我們使用,我們可以自行去修改。安裝 Vim 后,顏色方案文件位于 /usr/share/vim/vim*/colors/ 中。我們可以運(yùn)行以下命令來(lái)查看 Vim 配色方案文件的列表。$ ls -l /usr/share/vim/vim*/colors/
可以看出 Vim 為我們提供了非常多的配色方案,我們可以根據(jù)自己的需要自由選擇。假設(shè),我們有一個(gè) hello.html 的 html 文件,我們想要將它的的配色方案改為 morning 類型。<html> <head> <title> Welcome </title> </head> <body> <p> Hello Everybody, Welcome to our site </p> </body> </html>
我們首先運(yùn)行以下命令在 Vim 中打開這個(gè) html 文件。按 ESC 并鍵入 :colorscheme morning ,這樣我們就更改了文件當(dāng)前的顏色方案。應(yīng)用新顏色方案后,效果如下圖顯示。但這種更改依然是暫時(shí)的,關(guān)閉編輯器后配色方案將被重置。如果想要永久設(shè)置特定的配色方案及背景,那么我們需要再次打開 .vimrc 文件并添加以下命令文本。下面配置的是夜晚配色方案,會(huì)將背景顏色設(shè)置為深色。color evening set background=dark
之后再重新打開剛才的文件,效果就會(huì)變成如下圖所示。根據(jù)語(yǔ)言選擇配色方案Vim 編輯器支持多種語(yǔ)言的語(yǔ)法,例如 PHP,Perl,Python,awk 等。根據(jù)不同語(yǔ)言,它會(huì)應(yīng)用一套相應(yīng)語(yǔ)言的配色方案。比如現(xiàn)在有一個(gè)名為 average.py 的 Python 文件,我們用 Vim 編輯器打開它。通過(guò) Vim 編輯器的默認(rèn)配色方案,文件的顯示效果如下圖所示。這是一個(gè) Python 文件,但如果我們想以 Perl 的語(yǔ)法風(fēng)格來(lái)顯示,要怎么操作?我們只需輸入 :set syntax=perl ,按 Enter 鍵就可以了,效果如下圖所示。自定義配色方案前面所介紹的那些配色方案,其實(shí)都是系統(tǒng)自帶的,我們只是選擇一下而已。如果我們想要個(gè)性化一點(diǎn),自定義一套配色方案,要怎么操作?強(qiáng)大的 Vim 也是支持你這個(gè)需求的!一般而言,語(yǔ)法需要高亮的無(wú)非就是 變量、注釋、常量 之類的,Vim 編輯器支持的語(yǔ)法高亮組有如下 9 個(gè): | | | | | 關(guān)鍵字,例如 if,else,do,while等 | | | | 數(shù)據(jù)類型,如 int、double、string等 | | 預(yù)處理器語(yǔ)句,比如 #include | | 常量,如數(shù)字、帶引號(hào)的字符串、真/假等 | | | | | | | 下面舉個(gè)例子。在 Vim 編輯器中打開名為 leap.py 的 Python 腳本文件。默認(rèn)情況下,該文件的語(yǔ)法高亮顯示如下圖所示。如果我們想把關(guān)鍵字變?yōu)榧t色,該怎么操作?只需輸入 :hi Statement ctermfg=red 即可。這時(shí),if 和 else 的顏色將變?yōu)榧t色。:hi Statement ctermfg=red
當(dāng)然,對(duì)于注釋、常量、數(shù)據(jù)類型,我們也可以使用同樣的方法來(lái)改變顏色。這樣一來(lái),你就會(huì)形成一套自己的配色方案,感覺是不是很酸爽?
|