Vim 用戶手冊 - Bram Moolenaar
(譯者:Nek_in http://vimcdoc.sf.net)
使用語法高亮
黑白的文字讓人厭倦了,增加一些色彩能為你的文件帶來生氣。這不但看起來漂亮,
還能夠提高你的工作效率。本章介紹如何使用不同顏色顯示不同文本並把它打印出來。
*06.1* 功能激活
一切從一個簡單的命令開始:
:syntax enable
大多數情況下,這會讓你的文件帶上顏色。Vim 會自動檢測文件的類型,並調用合適的語
法高亮。一下子註釋變成藍色,關鍵字變成褐色,而字符串變成紅色了。這使你可以很容
易瀏覽整個文檔。很快你就會發現,黑白的文本真的會降低你的效率!
如果你希望總能看到語法高亮,把 "syntax enable" 命令加入到 |vimrc| 文件中。
如果你想語法高亮只在支持色彩的終端中生效,你可以在 |vimrc| 文件中這樣寫:
if &t_Co > 1
syntax enable
endif
如果你只想在 GUI 版本中有效,可以把 ":syntax enable" 放入你的 |gvimrc| 文件。
*06.2* 顏色顯示不出來或者顯示出錯誤的顏色怎麼辦?
有很多因素會讓你看不到顏色:
- 你的終端不支持彩色。
這種情況下,Vim 會用粗體,斜體和下劃線區分不同文字,但這不好看。你可能
會希望找一個支持彩色的終端。對於 Unix,我推薦 XFree86 項目的 xterm:
|xfree-xterm|。
- 你的終端其實支持顏色,可是 Vim 不知道。
確保你的 $TERM 設置正確。例如,當你使用一個支持彩色的 xterm 終端:
setenv TERM xterm-color
或者 (基於你用的控制台終端)
TERM=xterm-color; export TREM
終端名必須與你使用的終端一致。如果這還是不行,參考一下 |xterm-color|,
那裡介紹了一些使 Vim 顯示彩色的方法 (不僅是 xterm)。
- 文件類型無法識別。
Vim 不可能識別所有文件,而且有時很難說一個文件是什麼類型的。試一下這個
命令:
:set filetype
如果結果是 "filetype=",那麼問題就是出在文件類型上了。你可以手工指定文
件類型:
:set filetype=fortran
要知道哪些類型是有效的,查看一下 $VIMRUNTIME/syntax 目錄。對於 GUI 版
本,你還可以使用 Syntax 菜單。設置文件類型也可以通過 |modeline|,這種
方式使得該文件每次被編輯時都被高亮。例如,下面這行可用於 Makefile (把
它放在接近文件首和文件末的地方)
# vim: syntax=make
你可能知道怎麼檢測自己的文件類型,通常的方法是檢查文件的擴展名 (就是點
後面的內容)。|new-filetype| 說明如何告知 Vim 進行那種文件類型的檢查。
- 你的文件類型沒有語法高亮定義。
你可以找一個相似的文件類型並人工設置為那種類型。如果覺得不好,你可以自
己寫一個,參見 |mysyntaxfile|。
或者顏色是錯的:
- 彩色的文字難以辨認。
Vim 自動猜測你使用的背景色。如果是黑的 (或者其它深色的色彩),它會用淺
色作為前景色。如果是白的 (或者其它淺色),它會使用深色作為前景色。如果
Vim 猜錯了,文字就很難認了。要解決這個問題,設置一下 'background' 選
項。對於深色:
:set background=dark
而對於淺色:
:set background=light
這兩個命令必須在 ":syntax enable" 命令前調用,否則不起作用。如果要在這
之後設置背景,可以再調用一下 ":syntax reset" 使得 Vim 重新進行缺省顏色
的設置。
- 在自下往上滾屏的過程中顏色顯示不對。
Vim 在分析文本的時候不對整個文件進行處理,它只分析你要顯示的部分。這
樣能省不少時間,但也會因此帶來錯誤。一個簡單的修正方法是敲 CTRL-L。
或者往回滾動一下再回來。要徹底解決這個問題,請參見 |:syn-sync|。有些
語法定義文件有辦法自己找到前面的內容,這可以參見相應的語法定義文件。
例如,|tex.vim| 中可以查到 Tex 語法定義。
*06.3* 使用不同顏色 *:syn-default-override*
如果你不喜歡默認的顏色方案,你可以選另一個色彩方案。在 GUI 版本中可以使用
Edit/Color 菜單。你也可以使用這個命令:
:colorscheme evening
"evening" 是色彩方案的名稱。還有幾種備選方案可以試一下。在 $VIMRUNTIME/colors
中可以找到這些方案。
等你確定了一種喜歡的色彩方案,可以把 ":colorscheme" 命令加到你的 |vimrc| 文件
中。
你可以自己編寫色彩方案,方法如下:
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
屬性是 "bold" (粗體) 和 "underline" (下劃線) 可以用於 "cterm" 和 "gui"。如
果你兩個都想用,可以用 "bond,underline"。詳細信息請參考 |:highlight| 命令。
3. 告訴 Vim 總使用你這個色彩方案。把如下語句加入你的 |vimrc| 中:
colorscheme mine
如果你要測試一下常用的色彩組合,用如下命令:
:runtime syntax/colortest.vim
這樣你會看到不同的顏色組合。你可以很容易的看到哪一種可讀性好而且漂亮。
沒有留言:
張貼留言