2013-03-29 47 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