在vim

时间:2015-11-10 12:47:19

标签: vim

想象一下,我有这条线:

#define CONST 10

我想在我的代码中进一步将“CONST”字改为红色,但我不知道如何实现它。我试过这种方法:

:hi Comment term=bold ctermfg=Red guifg=#80a0ff gui=bold

但它会改变«10»的颜色。 请帮忙。

2 个答案:

答案 0 :(得分:0)

几乎就在那里。尝试定义自己的语法组

syn match MyComment +\<CONST\>+
hi MyComment term=bold ctermfg=Red guifg=#80a0ff gui=bold

答案 1 :(得分:0)

扩充默认语法

Vim的突出显示包括两个步骤:

  1. 定义语法元素以解析
  2. 指定颜色/将突出显示组链接到该语法元素
  3. syn keyword cMyConst CONST
    hi cMyConst term=bold ctermfg=Red guifg=#80a0ff gui=bold
    

    如果这是针对C语言的(:setlocal filetype?c),则可以通过将这些行放入~/.vim/after/syntax/c.vim来为所有C源代码文件设置永久语言。

    一次性突出显示

    您可以通过:match:call matchadd(...)为单个窗口定义自定义突出显示。如您想要自定义颜色,还需要定义该突出显示组:

    :hi MyConst term=bold ctermfg=Red guifg=#80a0ff gui=bold
    :match MyConst /\<CONST\>/
    

    这不会持久,但有利于特别突出。如果您想要更多这些或更舒适的方式,请查看我的Mark plugin