微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在Vim中突出显示冲突的语法(使用关键字时)

我是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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐