我指的是灰色背景突出显示,这使得vim不可读。
注意-我在Windows子系统上运行vim。此外,这不是搜索高亮显示。这是每次打开Vim时的默认视图。
似乎与语法高亮无关。我创建了一个名为a.txt的新文件。在使用:syn list时,它说没有为此缓冲区定义语法项,但我仍然在每一行上都有灰色背景。
似乎与语法高亮无关。我创建了一个名为a.txt的新文件。在使用:syn list时,它说没有为此缓冲区定义语法项,但我仍然在每一行上都有灰色背景。
:syn list
可以显示所有活动组,但是如果安装了SyntaxAttr.vim - 在光标下显示语法高亮属性插件,则更容易。当你知道问题语法组的名称后,可以调查它来自何处;:scriptnames
的最后几行可能有所帮助。对于现在遇到这个问题的任何人,以下是我如何解决此问题的方法。
我首先意识到发生的情况是我的主题未能设置高亮组“Normal”,原因不明。 如果在命令行中运行
:highlight Normal ctermfg=NONE
高亮显示看起来很正常。
唯一的问题是我必须在输入缓冲区后运行此操作,因此在 .vimrc 中进行传统的高亮显示无法工作。
添加
func! FixNormal()
highlight Normal ctermfg=252
endfu
com! Normal call FixNormal()
然后在这个函数上面添加
au! BufEnter * Normal
这个问题会自行解决。
解释
该代码创建了一个函数,当调用时,执行与原始命令相同的操作(将Normal突出显示为None)。 然后,当进入缓冲区(BufEnter)时,autocommand(au!)调用该函数并运行Normal函数。
我的当前语法高亮文件导致了灰色文本高亮。
在这种情况下,:syntax off
就解决了问题。
:nohl
来清除搜索高亮。你尝试过更改你的颜色方案吗?我也会使用Gvim。它有更广泛的色域和许多其他好处。 - Novateratavim
配置或终端偏好设置中的颜色方案出错了。虽然我从来没有见过vim
会出现这种情况,所以无法提供更具体的帮助。 - cmaster - reinstate monica