因為之前一直在windows下面用vc+vc 助手開發,所以早就習慣了那裡的文法加亮和自動補齊等,所以在vim開發有點不適應,因此想把開發環境稍作改動,讓它跟vc接近些。
在我們討論下面的內容之前請確保你的linux上已經安裝好vim和相應的外掛程式。如果沒有安裝請參看我的另外一遍文章:
安裝linux開發環境(vim + ctags + taglist + cscope + cppcomplete + global )
讓後你發現進入vim後,背景是黑的,文法雖然是加亮的,但是跟vc裡面的差別很大,很不適應。下面我們就調整一下顏色,讓我們看著舒服一點。
安裝完vim後,在/etc/下面可以找到vim的設定檔,檔案名稱是vimrc,開啟它,這裡面全是vim的初始配置,但當我們從頭讀到尾也許都找不到一個跟顏色相關的配置。
當然找不到了, 如果你之前沒有配置過顏色的話。那讓我們加一個顏色試試,在最後加入color murphy或者是colorscheme murphy。
然後儲存這個檔案,重新用vim開啟一個你的原始碼檔案;或者你直接在vim的命令列模式下輸入上面的任意一句。看看是什麼效果。也許你會問, murphy是什麼呀?
別急,接下來我們到另外一個目錄看看。
cd /usr/share/vim/vim72/colors
ls
你看到了什嗎? 是不是有很多*.vim的檔案,其中就有我們剛才輸入的murphy,現在我不說你其實已經知道了,我們剛才輸入的murphy是什麼了吧,對,它就是colors目錄下面其中的一個設定檔不包含.vim的檔案名稱。如果你還是想知道這個單詞是什麼意思,你也不用去查了,我告訴你,是馬鈴薯,馬鈴薯的意思,就是tomato的意思。接下來你可能很想試試每個設定檔所對應的顏色方案,方法就是剛才我們用過的那個命令。
我們接著研究,其實這下面都是一些關於vim的不同顏色方案的組合。你可以開啟這些檔案看看裡面的實際內容。也許試過了所有的顏色方案後,沒有一個讓你覺得滿意的,那就改一個自己滿意的, 怎麼做呢?
首先找一個自己覺得還比較喜歡的顏色方案的設定檔,比如morning.vim, 複製一份。開啟它。
我們修改其中的顏色,注意其中的幾行:
hi Normal ctermfg = Black ctermbg=Grey guifg=Black guibg=grey98
hi Commnet ...
hi Statement ...
hi Type...
hi Number...
我們先說這裡列出的第一行
hi 是高亮的意思,是light的縮寫
Normal這個段指的是什麼樣的文本,這是Normal是指普通文本。
ctermfg是指vim以終端方式運行時前景的顏色
ctermfg是指vim以終端方式運行時背景景的顏色
guifg是指vim以GUI方式運行時前景的顏色
guibg是指vim以GUI方式運行時背景的顏色
因為我們這裡討論的是在終端啟動vim所以我只關注第2,3段位,忽略4,5段位。
後面行和第一行的格式相似,多了一個term欄位,我們暫且不去管它。其中我們要關注是第二欄位所表示是什麼,下面列出這些所代表的意義:
Comment any comment
Constant any constant
String a string constant: "this is a string"
Character a character constant: 'c', '/n'
Number a number constant: 234, 0xff
Boolean a boolean constant: TRUE, false
Float a floating point constant: 2.3e10
Identifier any variable name
Function function name (also: methods for classes)
Statement any statement
Conditional if, then, else, endif, switch, etc.
Repeat for, do, while, etc.
Label case, default, etc.
Operator "sizeof", "+", "*", etc.
Keyword any other keyword
Exception try, catch, throw
PreProc generic Preprocessor
Include preprocessor #include
Define preprocessor #define
Macro same as Define
PreCondit preprocessor #if, #else, #endif, etc.
Type int, long, char, etc.
StorageClass static, register, volatile, etc.
Structure struct, union, enum, etc.
Typedef A typedef
Special any special symbol
SpecialChar special character in a constant
Tag you can use CTRL-] on this
Delimiter character that needs attention
SpecialComment special things inside a comment
Debug debugging statements
Underlined text that stands out, HTML links
Ignore left blank, hidden
Error any erroneous construct
Todo anything that needs extra attention; mostly the
keywords TODO FIXME and XXX
更詳細的內容請參看:
http://vimdoc.sourceforge.net/htmldoc/syntax.html
參照上面的內容就可以把設定檔改成我們想要的樣子了,儲存退出。
讓我們在回到/etc/vimrc,開啟它,比如我們剛才新改的設定檔我們取的名字是my_conf.vim,在最後行,加入如下內容:
color my_conf
讓後儲存退出。重新開啟vim, 看看我們修改的成果。