VIM從入門到精通(自定義語法高亮)
講了那麼多關於vim基本操作的內容,現在我換一個內容講一下。其實vim開始的時候只是為程式設計師設計的(現在也是給程式設計師用的)。
一般的編輯器就是白紙黑字,看時間長了很容易疲勞,所以好的編譯器一般都帶有語法高亮的功能,一般的IDE配置自己的語法高亮比較簡單,但是功能也比較單一 ,vim可以自定義語法高亮,但是比較複雜,可是很強大。好了閒話少說,現在介紹一下最基本的語法高亮配置的方法。
要使用語法高亮功能,就要開啟這個功能,vim不想一般IDE一上來就能用語法高亮功能,vim的語法高亮要自己開啟。下面是開啟方法:
:syntax enable
:syntax on
Vim會自動檢測到你的檔案型別併為之載入相應的語法高亮. 突然之間註釋變成了藍色, 關鍵字是棕色, 字串是紅色. 整個檔案的概況一目瞭然. 過一會之後你就會發現原來的黑白世界裡真是白活了。如果你想一直都用語法高亮, 可以把命令放入你的 .vimrc
如果你不喜歡預設的顏色, 你可以選擇另一種顏色方案. 在GUI中使用Edit/Color Scheme 選單. 你也可以直接使用命令:
:colorscheme evening
“evening”是顏色方案的名字. 除此之外還有其它幾種顏色方案. 請檢視$VIMRUNTIME/colors目錄。所以一般推薦使用gvim,gvim的顯示效果要比vim好。
找到你鍾愛的顏色方案後, 可以在你的 .vimrc 檔案里加入”:colorscheme“命令選擇它.你也可以寫一個自己的顏色方案. 下面是實施步驟:
1. 找一個相近的顏色方案. 把該檔案複製一份到你自己的Vim目錄下. 對Unix系統可以這樣:
!mkdir ~/.vim/colors
!cp $VIMRUNTIME/colors/morning.vim ~/.vim/colors/mine.vim
這是在執行中的Vim中做的, 因為它知道$VIMRUNTIME的值
2. 編輯該檔案. 下面的條目是十分有用的:
term 黑白終端的顯示屬性
cterm 彩色終端的顯示屬性
ctermfg 彩色終端的前景色
ctermbg 彩色終端的背景色
gui GUI的顯示屬性
guifg GUI的前景色
guibg GUI的背景色
比如, 要讓註釋變為綠色:
:highlight Comment ctermfg=green guifg=green
可以用於”cterm”和”gui”的屬性是”bold”(粗體)和”underline(下劃線)”.如果你想兼具兩者的效果, 可以寫成”bold,underline”.
3. 把下面這一行放入你的jvimrcj檔案可以告訴Vim一直使用你自己的顏色方案:
colorscheme mine
如果你想看一下最常用的顏色設定都是什麼樣的效果, 可以用下面的命令:
:edit $VIMRUNTIME/syntax/colortest.vim
:source %
以彩色顯示文字需要編輯器花額外的氣力. 如果你發現顯示變慢,你也可以暫時關閉語法高亮:
:syntax clear
要徹底停用語法高亮可以用命令:
:syntax off
這將會徹底禁用語法高亮功能, 並立即對各個緩衝區生效。
如果你只想對某些檔案施以語法高亮, 用這個命令:
:syntax manual
這將會開啟語法高亮功能, 但並不在新開一個緩衝區時自動開啟.要為當前緩衝區開啟語法高亮功能, 可以通過這樣設定°syntax°選項:
:set syntax=ON
這些只是最基本的配置語法高亮的功能,vim的語法高亮功能很複雜,所以在後面的章節中,我還會繼續講解各種高階的技巧