相信你們在使用各類各樣強大的 IDE 寫代碼時都會注意到,代碼中各類類型的關鍵字會用獨特的顏色標記出來,而後造成一套語法高亮規則。這樣不只美觀,並且方便代碼的閱讀。html
而在上古神器 Vim 中,咱們一般看到的是黑底白字,沒有任何其它顏色。難道咱們的 Vim 就這麼枯燥乏味嗎?固然不是,Vim 隱藏了很是多很是實用的功能與技巧,不是老司機根本就不知道。下面來詳細介紹。linux
在開始以前,咱們要先檢查一下系統中是否安裝了 Vim 編輯器。通常來講 Ubuntu 系統是默認自帶的,沒有的小夥伴請先自行安裝。面試
$ sudo apt-get install vim複製代碼
而後咱們運行如下命令來查看安裝好的 Vim 編輯器的版本。vim
$ vim -version複製代碼
接下來,咱們就能夠爲 Vim 編輯器添加配色方案。爲了能看出效果,咱們準備了一個名爲 login.sh
的 bash
文件,它的內容以下:bash
login.sh編輯器
!/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複製代碼
運行如下命令使用 Vim 編輯器打開該文件:spa
$ vim login.sh複製代碼
2020 精選 阿里/騰訊等一線大廠 面試、簡歷、進階、電子書 公衆號「良許Linux」後臺回覆「資料」免費獲取.net
有些發行版的 Vim 編輯器已經幫你默認啓用語法高亮,而有些發行版卻沒有。若是沒有默認打開語法高亮,那麼咱們就須要自行打開。3d
打開的方法其實也很簡單。在 Vim 編輯器中打開 login.sh
文件後,按 ESC
鍵並鍵入 :syntax on
,語法高亮顯示就打開了,很是方便。code
一樣,關閉語法高亮也很簡單,只需按 ESC
鍵並鍵入 :syntax off
便可。
剛剛那種打開語法高亮的方法只是暫時性的,一旦當前文件關閉,下次打開文件就須要從新打開語法高亮。
若是想要永久啓用或禁用語法高亮顯示,就須要修改 .vimrc
文件。首先,咱們使用 Vim 打開 .vimrc
文件。
$ sudo vim ~ / .vimrc複製代碼
而後,在打開的文件中添加一句 syntax on
命令,表明永久啓用語法高亮顯示。最後再輸入 :wq
保存並關閉文件。
若是想要永久禁用語法高亮,則添加 syntax off
命令便可。
在默認狀況下,打開語法高亮後 Vim 爲你應用了一套默認的配色方案,而實際上 Vim 還有不少套配色方案可供咱們使用,咱們能夠自行去修改。
安裝 Vim 後,顏色方案文件位於 /usr/share/vim/vim*/colors/
中。咱們能夠運行如下命令來查看 Vim 配色方案文件的列表。
$ ls -l /usr/share/vim/vim*/colors/複製代碼
能夠看出 Vim 爲咱們提供了很是多的配色方案,咱們能夠根據本身的須要自由選擇。假設,咱們有一個 hello.html
的 html
文件,咱們想要將它的的配色方案改成 morning 類型。
2020 精選 阿里/騰訊等一線大廠 面試、簡歷、進階、電子書 公衆號「良許Linux」後臺回覆「資料」免費獲取
hello.html
<html>
<head>
<title> Welcome </title>
</head>
<body>
<p> Hello Everybody, Welcome to our site </p>
</body>
</html>複製代碼
咱們首先運行如下命令在 Vim 中打開這個 html 文件。
$ vim hello.html複製代碼
按 ESC
並鍵入 :colorscheme morning
,這樣咱們就更改了文件當前的顏色方案。
應用新顏色方案後,效果以下圖顯示。但這種更改依然是暫時的,關閉編輯器後配色方案將被重置。
若是想要永久設置特定的配色方案及背景,那麼咱們須要再次打開 .vimrc
文件並添加如下命令文本。下面配置的是夜晚配色方案,會將背景顏色設置爲深色。
color evening
set background=dark複製代碼
以後再從新打開剛纔的文件,效果就會變成以下圖所示。
Vim 編輯器支持多種語言的語法,例如 PHP,Perl,Python,awk 等。根據不一樣語言,它會應用一套相應語言的配色方案。
好比如今有一個名爲 average.py
的 Python 文件,咱們用 Vim 編輯器打開它。經過 Vim 編輯器的默認配色方案,文件的顯示效果以下圖所示。
這是一個 Python 文件,但若是咱們想以 Perl 的語法風格來顯示,要怎麼操做?咱們只需輸入 :set syntax=perl
,按 Enter
鍵就能夠了,效果以下圖所示。
:set syntax=perl複製代碼
2020 精選 阿里/騰訊等一線大廠 面試、簡歷、進階、電子書 公衆號「良許Linux」後臺回覆「資料」免費獲取
前面所介紹的那些配色方案,其實都是系統自帶的,咱們只是選擇一下而已。若是咱們想要個性化一點,自定義一套配色方案,要怎麼操做?強大的 Vim 也是支持你這個需求的!
通常而言,語法須要高亮的無非就是 *變量、註釋、常量 *之類的,Vim 編輯器支持的語法高亮組有以下 9 個:
Group Name | Description |
---|---|
Identifier | 變量 |
Statement | 關鍵字,例如 if,else,do,while等 |
Comment | 註釋 |
Type | 數據類型,如 int、double、string等 |
PreProc | 預處理器語句,好比 #include |
Constant | 常量,如數字、帶引號的字符串、真/假等 |
Special | 特殊符號,如「\t」、「\n」等 |
Underlined | 帶下劃線的文本 |
Error | 錯誤 |
下面舉個例子。在 Vim 編輯器中打開名爲 leap.py
的 Python 腳本文件。默認狀況下,該文件的語法高亮顯示以下圖所示。
若是咱們想把關鍵字變爲紅色,該怎麼操做?只需輸入 :hi Statement ctermfg=red
便可。這時,if
和 else
的顏色將變爲紅色。
:hi Statement ctermfg=red複製代碼
固然,對於註釋、常量、數據類型,咱們也可使用一樣的方法來改變顏色。這樣一來,你就會造成一套本身的配色方案,感受是否是很酸爽?