我对 Vim 很陌生,有以下问题:
在我的 .gvimrc
我定义了
syn keyword Todo PMID
突出显示每个
PMID
在我编辑的文件中。只要没有对文件应用一般的语法突出显示(通过 setf
或 autocmd BufRead,BufNewFile …
),这就会很好地工作我的问题:如何维护一个突出显示的单个关键字列表,无论我编辑什么文件以及我对该文件使用哪种语法突出显示?
最佳答案
在这种情况下,匹配就派上用场了:
let s:kwreg='\v<%(PMID|OTHER|OTHER2)>'
let s:kwsyn='Todo'
augroup MyKeywords
autocmd!
autocmd WinEnter * if !exists('w:my_keyword_mnr') |
\ let w:my_keyword_mnr=matchadd(s:kwsyn, s:kwreg) |
\ endif
augroup END
let s:curtab=tabpagenr()
for s:tab in range(1, tabpagenr('$'))
execute 'tabnext' s:tab
let s:curwin=winnr()
for s:win in range(1, winnr('$'))
execute s:win.'wincmd w'
let w:my_keyword_mnr=matchadd(s:kwsyn, s:kwreg)
endfor
execute s:curwin.'wincmd w'
endfor
execute 'tabnext' s:curtab
unlet s:curtab s:curwin s:tab s:win
关于vim - Vim 中的语法高亮冲突(使用关键字时),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12656403/