【问题标题】:How do I create Vim syntax highlighting rules that are common to all filetypes?如何创建所有文件类型通用的 Vim 语法高亮规则?
【发布时间】:2014-02-22 16:29:00
【问题描述】:

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

我可以在每个文件类型的基础上做到这一点。例如,对于 HTML:


~/.vim/ftplugin/html.vim

color html

~/.vim/syntax/html.vim

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

~/.vim/colors/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,但也没有用。

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

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

【问题讨论】:

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


    【解决方案1】:

    这是我自己对完全相同的问题的解决方案:

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

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

    这是它的样子:

    【讨论】:

    • 你可以简单地将这一行放在你的~/.vimrc中。
    猜你喜欢
    • 1970-01-01
    • 2012-08-16
    • 2011-04-20
    • 2014-11-14
    • 2015-05-23
    • 1970-01-01
    • 2011-06-03
    • 1970-01-01
    相关资源
    最近更新 更多