在 Vim 中,加载缓冲区后自动命令":highlight"的正确方法是什么?



由于各种原因,我在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

相关内容

  • 没有找到相关文章

最新更新