如何在vim中删除高亮显示的文本背景?

ozxc1zmp  于 2022-11-11  发布在  其他
关注(0)|答案(4)|浏览(247)

我指的是灰色背景突出显示,这使得Vim无法阅读。注意-我在Linux的Windows子系统上运行Vim。另外,这不是搜索突出显示。这是每次打开Vim时的默认视图。

好像和语法高亮没什么关系,我新建了一个名为a.txt的文件,使用:syn list的时候,它说这个缓冲区没有定义语法项,但是我还是每行都有灰色背景。

7ivaypg9

7ivaypg91#

您需要找出是哪个语法组导致高亮显示。:syn list显示了所有活动的组,但安装SyntaxAttr.vim - Show syntax highlighting attributes of character under cursor插件后会更容易。当您知道违规语法组的名称时,您可以调查它的来源;(的最后几行):scriptnames可能会有帮助。

tp5buhyn

tp5buhyn2#

似乎我的默认配色方案-“evening”已经被上次的windows更新修改了。一个解决方案是将配色方案更改为不同的值- desert/elflord等似乎工作正常。注意-这不是一个解决方案,只是一个解决方案,因为你可以看到顶部的行中仍然有灰色背景突出显示。

zzwlnbp8

zzwlnbp83#

对于任何人遇到这个问题,现在,这里是我如何能够解决这个问题。
我第一次意识到发生的事情是,由于某种原因,突出显示组Normal没有从我的主题中设置。

:highlight Normal ctermfg=NONE

高亮显示看起来正常。
唯一的问题是,我必须在进入缓冲区后运行此命令,因此.vimrc中的传统高亮显示不起作用。
正在添加

func! FixNormal()
    highlight Normal ctermfg=252
endfu
com! Normal call FixNormal()

然后在此函数上方添加

au! BufEnter * Normal

问题会自行解决。

说明

该代码创建了一个函数,当调用该函数时,它执行与原来相同的命令(用None突出显示Normal)。然后,当进入缓冲区(BufEnter)时,自动命令(au!)调用该函数,并运行函数Normal。

qojgxg4l

qojgxg4l4#

我有灰色的文本突出显示,这是由我当前的语法突出显示文件造成的。
在本例中,:syntax off起到了作用

相关问题