2013-03-29 164 views
2

我想爲我的模板文件*.tmpl生成自定義突出顯示規則,即我想標記以;開頭的行 - 這些行是註釋行。Vim自定義突出顯示行首;

我在.vimrc

au BufRead,BufNewFile *.tmpl hi tmpl ctermfg=2 ctermbg=3 
au BufRead,BufNewFile *.tmpl syn match tmpl /"\zs;\w*\ze"/ 

有這樣的嘗試,但沒有奏效。

我使用Vim 7.2和+syntax

這是我.vimrc

執行病原菌侵染#() 集數

set clipboard=unnamedplus 
set t_Co=256 

syntax enable 
set background=dark 
let g:solarized_termcolors=256 
colorscheme solarized 

filetype plugin indent on 

let g:Powerline_symbols = 'fancy' 
set hlsearch 

au BufRead,BufNewFile *.tmpl hi tmpl ctermfg=2 ctermbg=3 
au BufRead,BufNewFile *.tmpl syn match tmpl /"\zs;\w*\ze"/ 

回答

6

您正則表達式:

/"\zs;\w*\ze"/ 

比賽線路是這樣的:

foo";commenttext" 
";commenttext"bar 
foo";commenttext"bar 

但只有;commenttext高亮顯示。

,如果你想有:

我想,以紀念與啓動線;

試試這個:

syn match tmp /^\s*;\w*/ 

我用\w*代替.*因爲你在你的正則表達式寫的,我想你想只匹配\w。如果你想喜整條生產線,不管有空間(或其他\W S)或沒有,使用.*,例如:

syn match tmp /^\s*;.*$/ 
+0

非常感謝!完美工作。 – Patryk