更改colorscheme后,Vim多个游标不可见

时间:2017-05-22 15:13:16

标签: vim vim-plugin vim-syntax-highlighting

我已经和multiple cursors使用了vim几年了,但就在今天,在修补我的色彩方面时,我发现光标并不总是出现。
当他们在视觉上选择某些内容时,他们会使用Visual突出显示组的颜色;但是,如果我没有在视觉上进行选择,则多个光标完全不可见,包括vimgvim。 我尝试更改Normal背景颜色,但没有用。他们似乎也没有使用Normal组的设置,因为它们在具有不同背景/前景色的文本上不可见。 最令我困惑的是,之前没有发生这种情况。

编辑:

经过一些测试后,似乎当我打开vim来编辑文件时,游标是可见的,但是如果我尝试设置colorscheme,即使是已经设置的那个,它们也会(看似)永久不可见。 / p>

1 个答案:

答案 0 :(得分:3)

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

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

为了支持动态发生的colorscheme更改,插件必须挂钩ColorScheme自动命令事件,然后重新初始化。 (不过很多插件都没有。)

作为解决方法,您可以自行完成此操作(例如在~/.vimrc中):

:autocmd ColorScheme * runtime autoload/multiple_cursors.vim

(首先选择你的(默认):colorscheme,然后添加:autocmd。任何插件自定义也最好在它之前完成。如果仍然没有取得成功,请尝试把这个放到你的.vimrc

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

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