加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

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

发布时间:2020-12-15 21:16:16 所属栏目:安全 来源:网络整理
导读:我是Vim的新手,有以下问题: 在我定义的.gvimrc中 syn keyword Todo PMID 突出显示我编辑的文件中的每个PMID.只要没有对文件应用通用语法高亮(通过setf或autocmd BufRead,BufNewFile ……),这种方法就可以正常工作 我的问题:如何维护一个突出显示的单个关键
我是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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读