如何在vim中为特定文本着色?

时间:2012-05-21 14:05:49

标签: editor vim

每当我在vim中输入编程关键字时,他们就会得到特定的颜色。

我想创造自己的。

如何使用指定颜色为文本着色?

我试图找到答案,但尚未找到答案

3 个答案:

答案 0 :(得分:5)

扩展C / CPP语法(并且可以应用于任何语言,只需检查已存在的名称,例如此处Constant):

~/.vimrc

if has("autocmd")
    augroup filetypedetect
            au BufNewFile,BufRead *.myext    setf mysyntax
    augroup END
endif

并在~/.vim/syntax/mysyntax.vim

runtime! syntax/cpp.vim

syn keyword myConstant foo bar foobar quack
hi def link myConstant Constant

从头开始创建新关键字:

syn match myKeyWord "foobar" contained
hi kwRed  term=standout ctermfg=12 guifg=Red
hi def link  myKeyWord  kwRed

您可以使用filetypedetect或直接在.vimrc

中拨打该电话

答案 1 :(得分:2)

要扩展特定的文件类型语法(例如Java),请使用:syntax:highlight。如果您只想在窗口中为特定单词着色,可以快速使用:match或任何可用的“多个标记”插件,例如mark.vim

答案 2 :(得分:2)

查看match

:match Identifier /\w\+/
:2match Keyword /\v(if|else|then|break)/

另请参阅:hi以查看突出显示的组。或者,您可以编写一个语法文件,这是/ way / more涉及