由于各种原因,我在16色上运行vim,与终端的颜色同步。在最近的VIM更新中,我不得不完全重新刷新"〜/.vimrc",以使其重新回到Linux上的运行顺序。
最初,我很震惊地发现这条简单的线不起作用(即使是"在"之前的"语法"(:
:highlight Comment ctermfg=White
我还使用" Linenr" CTermFG。无论我放置/堆叠在哪里/堆叠"评论" ctermfg,它不起作用,或者没有正确采购的所有内容(即,放置在带有" linenr"的同一行中(。但是,我发现在加载缓冲区后调用"评论"将使评论按预期出现。
我是VIM中AutoCMD的新手(无论如何,想知道它的工作原理(。我可以在"〜/.vimrc"中使用的" autoCMD"调用,该调用将在加载后立即运行上述代码行?
我尝试了几次迭代(BufWritePre,bufwritePost等(,并且没有成功。这是我以前的尝试:
autocmd BufWinPost * :highlight Comment ctermfg=white
不要无故诉诸:autocmd
;更难搜索根本原因!
您的描述缺乏具体细节;我猜您选择的Colorscheme(或一个插件,但没有理智的插件应干扰默认的突出显示(将为Comment
覆盖您的自定义插件。您可以检查谁通过
:verbose highlight Comment
如果这指向您的Colorscheme,则只需在IT之后执行:highlight
命令即可。为此,您需要了解:help initialization
,也可以检查:scriptnames
的输出。如果您的 ~/.vimrc
中有 :colorscheme foo
命令,则应该与将 :highlight
命令放在之后放置一样简单。
如果您飞行切换Colorschemes,则确实需要:autocmd
,因为大多数Colorschemes覆盖了基本的Comment
定义。正确的事件和模式将是ColorScheme *
如果我做快速的:h autocmd-events
,我发现事件BufWinPost
不存在。我认为,您想要BufWinEnter
。您编写的AutoCMD应该有效,除了:
。hth