VIM - 在 colorscheme 文件中,如何根据语法使用不同的颜色?

VIM - 在 colorscheme 文件中,如何根据语法使用不同的颜色?

我使用 VIM,我想使用我自己的自定义 slate 配色方案 (slate-mine.vim)。在 slate-mine.vim 中,我是否可以做类似的事情

if syntax == django html
    then apply the following commands:
        :hi PreProc guifg=red guibg=white ctermfg=red
        :hi String guifg=SkyBlue ctermfg=darkcyan

答案1

你不能;:highlight来自 colorscheme 的命令是全球的

如果你在 Vim 会话中只编辑一种类型的文件,你可以有条件地重新定义颜色,例如在 中~/.vim/after/syntax/htmldjango.vim。如果你愿意多花点功夫,你可以定义:autocmds(例如在 上WinEnter)该切换(在 Stack Overflow 上搜索,有关于此的问题),但是你永远不会同时看到两个相互矛盾的高亮组设置

请注意,这种重新定义不是必要的,因为单独的语法文件关联到具有单独名称的 colorscheme 定义的名称,例如htmlTag(链接到Function),并且您可以更改该链接。

相关内容