Vim 更改配色方案后多个光标不可见

Vim multiple cursors invisible after changing colorscheme

几年来我一直在使用 vim 和 multiple cursors,但就在今天,在修改我的配色方案时,我发现光标并不总是出现。
当他们在视觉上选择某些东西时,他们使用 Visual 突出显示组的颜色;但是,如果我不是在视觉上选择,那么多个光标是完全不可见的,vimgvim.
我试过更改 Normal 背景颜色,但没有用。他们似乎也没有使用 Normal 组的设置,因为它们在具有不同 background/foreground 颜色的文本上不可见。 最让我感到困惑的是,这在以前是不会发生的。

编辑:

经过一些测试,似乎当我打开 vim 编辑文件时,光标是可见的,但是如果我尝试设置配色方案,即使是已经设置的配色方案,它们也会变成 (貌似)永久隐形。

显然,插件 defines its own highlight groups。当您切换颜色方案时,方案顶部的习惯 :hi clear 命令会删除 所有 现有突出显示。

理想情况下,插件不会定义自己的突出显示,而只是 link 现有的突出显示组。至少突出显示是可定制的。

为了支持即时发生的配色方案更改,插件必须挂接到 ColorScheme 自动命令事件,然后重新初始化。 (不过,这样做的插件并不多。)

作为一种解决方法,您可以自己执行此操作(例如在您的 ~/.vimrc 中):

:autocmd ColorScheme * runtime autoload/multiple_cursors.vim

(首先 select 你的(默认):colorscheme,然后添加 :autocmd。任何插件自定义最好也在此之前完成。如果仍然没有导致要成功,请尝试将此放入您的 .vimrc:

autocmd ColorScheme * hi multiple_cursors_cursor term=reverse cterm=reverse gui=reverse

这比重新获取整个插件脚本更有效,但会从插件中复制一些信息。