Vim 中加载缓冲区后自动命令“:highlight”的正确方法是什么?
What is the correct way in Vim to autocommand ":highlight" after a buffer is loaded?
由于各种原因,我 运行 Vim 十六色,与我终端的颜色同步。在最近的 Vim 更新中,我不得不完全修改我的“~/.vimrc”以使其恢复到 Linux 上的 运行ning 顺序。
最初我震惊地发现这条简单的线不起作用(即使在它前面有 "syntax on"):
:highlight Comment ctermfg=White
我也在使用 "LineNr" ctermfg。无论我 placed/stacked "Comment" ctermfg 在哪里,它都不起作用,或者干扰了所有其他正确的来源(即,与 "LineNr" 放在同一行)。但是,我发现在加载缓冲区后调用 "Comment" 会使注释按预期显示。
我是 Vim 的 autocmd 新手(无论如何都想知道它是如何工作的)。在我的“~/.vimrc”中是否有一个 "autocmd" 调用可以在缓冲区加载后立即 运行 上述代码行?
我已经尝试了几次迭代(BufWritePre、BufWritePost 等),但都没有成功。这是我之前的尝试:
autocmd BufWinPost * :highlight Comment ctermfg=white
如果我快速 :h autocmd-events
,我发现事件 BufWinPost
不存在。我想,你想要 BufWinEnter
代替。您编写的 autocmd 应该可以工作,但 :
除外。 HTH
不要无缘无故诉诸:autocmd
;更加努力地寻找根本原因!
您的描述不够具体;我猜你选择的颜色方案(或插件,但任何正常的插件都不应干扰默认突出显示)会覆盖你自定义的 Comment
。你可以通过
检查谁定义了这个
:verbose highlight Comment
如果这指向你的配色方案,你只需要在之后执行你的:highlight
命令。为此,您需要了解 :help initialization
,并可能检查 :scriptnames
的输出。如果你的 ~/.vimrc
中有一个 :colorscheme foo
命令,它 应该 就像在它后面加上 :highlight
命令一样简单。
如果您即时切换配色方案,您确实需要 :autocmd
,因为大多数配色方案会覆盖基本的 Comment
定义。正确的事件和模式是 ColorScheme *
由于各种原因,我 运行 Vim 十六色,与我终端的颜色同步。在最近的 Vim 更新中,我不得不完全修改我的“~/.vimrc”以使其恢复到 Linux 上的 运行ning 顺序。
最初我震惊地发现这条简单的线不起作用(即使在它前面有 "syntax on"):
:highlight Comment ctermfg=White
我也在使用 "LineNr" ctermfg。无论我 placed/stacked "Comment" ctermfg 在哪里,它都不起作用,或者干扰了所有其他正确的来源(即,与 "LineNr" 放在同一行)。但是,我发现在加载缓冲区后调用 "Comment" 会使注释按预期显示。
我是 Vim 的 autocmd 新手(无论如何都想知道它是如何工作的)。在我的“~/.vimrc”中是否有一个 "autocmd" 调用可以在缓冲区加载后立即 运行 上述代码行?
我已经尝试了几次迭代(BufWritePre、BufWritePost 等),但都没有成功。这是我之前的尝试:
autocmd BufWinPost * :highlight Comment ctermfg=white
如果我快速 :h autocmd-events
,我发现事件 BufWinPost
不存在。我想,你想要 BufWinEnter
代替。您编写的 autocmd 应该可以工作,但 :
除外。 HTH
不要无缘无故诉诸:autocmd
;更加努力地寻找根本原因!
您的描述不够具体;我猜你选择的颜色方案(或插件,但任何正常的插件都不应干扰默认突出显示)会覆盖你自定义的 Comment
。你可以通过
:verbose highlight Comment
如果这指向你的配色方案,你只需要在之后执行你的:highlight
命令。为此,您需要了解 :help initialization
,并可能检查 :scriptnames
的输出。如果你的 ~/.vimrc
中有一个 :colorscheme foo
命令,它 应该 就像在它后面加上 :highlight
命令一样简单。
如果您即时切换配色方案,您确实需要 :autocmd
,因为大多数配色方案会覆盖基本的 Comment
定义。正确的事件和模式是 ColorScheme *