Vim自定义突出显示以行为开头的行;

Pat*_*ryk 2 syntax vim syntax-highlighting

我想为我的模板文件生成自定义突出显示规则*.tmpl,即我想标记以;- 开头的行- 这些是注释行.

我曾经尝试过这样的事情 .vimrc

au BufRead,BufNewFile *.tmpl hi tmpl ctermfg=2 ctermbg=3
au BufRead,BufNewFile *.tmpl syn match tmpl /"\zs;\w*\ze"/
Run Code Online (Sandbox Code Playgroud)

但它不起作用.

我使用Vim 7.2 +syntax.

那是我的 .vimrc

执行病原体#infect()设置编号

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"/
Run Code Online (Sandbox Code Playgroud)

Ken*_*ent 6

你的正则表达式:

/"\zs;\w*\ze"/
Run Code Online (Sandbox Code Playgroud)

匹配这样的行:

foo";commenttext"
";commenttext"bar
foo";commenttext"bar
Run Code Online (Sandbox Code Playgroud)

但只有;commenttext突出显示.

如果你想拥有:

我想标记开头的线条;

试试这个:

  syn match tmp /^\s*;\w*/
Run Code Online (Sandbox Code Playgroud)

请注意我使用\w*而不是.*因为你在正则表达式中编写它,我假设你只想匹配\w.如果你想要整行,无论是否有空间(或其他\Ws),请使用.*,例如:

  syn match tmp /^\s*;.*$/
Run Code Online (Sandbox Code Playgroud)