更改vim syntastic错误窗口的颜色

7
我在VIM上安装了Syntastic以帮助我显示PHP代码中的错误,但是当前的颜色方案/设置使我看到以下颜色: error line 如您所见,这非常难以阅读,我想知道是否有一种方法可以更改此错误窗口的颜色。

要更改Vim Syntastic位置列表的背景颜色,您可以编辑highlight QuickFixLine ctermfg=none ctermbg=none cterm=none中的ctermbg - Brandon
2个回答

8
如果这只是针对快速修复窗口中当前选择的项目,那么这就是普通快速修复突出显示之上的“搜索”高亮组。然后您必须更改其中一个;“搜索”组也会影响其他窗口中的搜索结果。
如果这是其他/特殊的Syntastic突出显示,最好查看:hi输出中的所有组,以找到错误的组。
覆盖
除非您想完全切换颜色方案,否则可以通过在:colorscheme命令之后使用:highlight命令适应单个突出显示组。要么:hi link到另一个预定义组,要么提供自己的ctermfg=... guifg=...等颜色定义,如:help highlight-args所述。

:hi 命令帮助我很多地识别问题,确实是搜索组。谢谢! - Martijn Smidt

4
Syntastic不会改变(也不关心)错误窗口的高亮显示。它是一个普通的quickfix窗口,文件类型为qf。查看syntax/qf.vim,默认的高亮显示如下:
syn match   qfFileName      "^[^|]*" nextgroup=qfSeparator
syn match   qfSeparator     "|" nextgroup=qfLineNr contained
syn match   qfLineNr        "[^|]*" contained contains=qfError
syn match   qfError         "error" contained

hi def link qfFileName      Directory
hi def link qfLineNr        LineNr
hi def link qfError         Error

因此,如果您发现quickfix窗口的颜色与主文本不同,那是因为您的配色方案有意让它看起来那样。您可以覆盖高亮显示的qfFileNameqfSeparatorqfLineNrqfError以使其更易读,但在我看来更好的解决方案是使用一个更合适的配色方案。

编辑:Vim 8.0.641及更高版本具有QuickFixLine功能。


更改到另一个方案没有起作用,我仍然看到相同的颜色。 - Martijn Smidt
@Martijn Smidt:嗯,某些东西(可能是插件)确实将其设置为那样。那不是默认颜色。 - lcd047
@Martijn Smidt:话虽如此,正如@Ingo Karkat所指出的那样,它可能是“搜索”组。 - lcd047
1
@jamieyoung QuickFixLine 在 Vim 8.0.641(2017年6月13日)中添加。 - lcd047

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接