执行此操作的最佳方式可能是我的.vimrc
文件或我vimfiles
中的其他位置,这些位置很容易保留,而且不附加到额外的插件。
VIM的帮助文件(以及国外互联网上的几乎所有解决方案)直接与为特定文件类型添加语法突出显示有关。
但是,如何添加适用于所有文件的重点?
一个例子是突出显示额外关键字作为Todo
突出显示组的一部分 - 例如“注意”,“内部”等。
我曾尝试使用vimfiles\after\syntax\...
,但同样,它似乎是基于正确的文件类型而被用于在该目录中创建的.vim
文件。
因此,像vimfiles\after\syntax\cpp.vim
这样的东西可以用C ++来实现这个目的:
syntax keyword cTodo contained NOTE INTERNAL IMPORTANT
具体来说,对于C ++文件来说,这就是我所期望的。
但是,当文件加载到缓冲区时,如何将其扩展为所有文件类型?
答案 0 :(得分:1)
您可以通过Syntax
事件挂钩加载语法脚本。请务必在.vimrc中 :syntax on
之后定义:
:autocmd Syntax * syntax keyword allTodo NOTE
如果您还想处理没有设置任何语法(/ filetype)的缓冲区,请添加BufNewFile,BufReadPost
个事件。
根据语法的不同,您可能需要指定contained[in]
或:syn cluster add=...
来扩充现有语法。不幸的是,不能一概而论。另一种方法是使用:match
或:call matchadd(...)
,它位于语法高亮之上(并且完全独立)。由于这是窗口本地的,因此autocmd将是:
:autocmd VimEnter,WinEnter * match Todo /\<NOTE\>/