如何创建所有文件类型共有的Vim语法突出显示规则?

时间:2014-02-22 01:07:14

标签: vim syntax-highlighting highlight vim-syntax-highlighting

无论文件类型如何,我都试图在vim中突出显示尾随空格。

我能够在每个文件类型的基础上完成它。例如,对于HTML:


〜/的.vim /文件类型插件/ html.vim

color html

〜/的.vim /语法/ html.vim

syn match TrailingSpace display excludenl /\s\+$/

〜/的.vim /颜色/ html.vim

hi TrailingSpace ctermbg=52

的〜/ .vimrc

syntax on
filetype on
filetype plugin on

这些设置使得线条末尾的尾随空格以红色背景突出显示。 (它们也覆盖了vim的所有内置HTML语法和突出显示,但我对此很好。)

麻烦的是,如果我想对JavaScript做同样的事情,我必须在该文件中添加相同的synhi行,以此类推其他所有文件类型。

我希望能够做的是这两行

syn match TrailingSpace display excludenl /\s\+$/
hi TrailingSpace ctermbg=52

只在我的.vim目录结构中的一个位置,并将它们应用于所有文件类型。

我已尝试将其添加到.vimrc,我已尝试将其添加到~/.vim/plugin/settings.vim,但这也无效。

我添加到hi的其他~/.vim/plugin/settings.vim行普遍适用,但仅适用于内置的vim语法项,例如MatchParenIncSearch

是否有任何文件可以添加上面的两行,它会起作用?我可以拆分它们并将它们放在单独的文件中,但理想情况下,我不需要在其他任何地方添加任何内容。

1 个答案:

答案 0 :(得分:3)

以下是我对完全相同问题的解决方案:

autocmd BufEnter,WinEnter * call matchadd("Error", "\\s\\+$", -1)

我从相同的“语法”方法开始,但最终我面临的问题与您现在面临的问题相同,而且没有简单的解决方案。

这就是它的样子:

matchadd()