Vim:如何更改搜索命中和快速修复选择的高亮颜色

163

我正在使用沙漠色调,它在突出显示搜索结果时使用白色文本和橙色背景。快速修复窗口中的选定条目也使用相同的模式。

白色文本与橙色背景很难阅读。我该如何在.vimrc文件中更改?

编辑:感谢您的快速回复,对于沙漠主题,我现在正在使用以下搜索突出显示修改:

highlight Search guibg='Purple' guifg='NONE'

紫色在视觉上很容易检测到,而且在我看来,在沙漠主题中不用于语法着色。

3个回答

203

看一下$VIMRUNTIME/colors/desert.vim文件。颜色映射是用hi[ghlight]命令定义的。搜索高亮显示定义如下:

hi Search guibg=peru guifg=wheat

用于图形用户界面(GUI)的

hi Search cterm=NONE ctermfg=grey ctermbg=blue

针对终端。

您可以在选择colorscheme后,在您的.vimrc中使用相同的命令来覆盖此设置。键入:h hi以获取帮助。


4
嘿!你刚给了我另一个提示。我一直都用 :help 而不是 :h ;) - Juve
3
我发现torte色彩方案非常适合我的需求。 :颜色方案 torte - James Mills
20
如果搜索结果没有被突出显示,您可能还需要使用“:set hlsearch”命令。 - Jeff Allen
要在当前的vim会话中执行此操作,而不保留更改,请在hi命令前在ex模式(:)下运行它::hi Search cterm=NONE ctermfg=grey ctermbg=blue - Nitrodist
1
我可以看到这突出显示了所有实例。如何更改当前光标所在的实例的高亮方式? - Costa Michailidis
@Costa 请查看这个问答或者使用以下插件:vim-searchlight, vim-searchhi, vim-searchant。searchlight类似于searchhi,但目标是不需要任何配置。此外,您可以使用一个终端仿真器,它根据其后面/下面的文本颜色动态更改光标颜色,这不是完全匹配的解决方案,但至少提供了一些视觉提示。 - pkfm

79

对于我来说,我还需要在~/.vimrc中的syntax on下添加hlsearch

set hlsearch
hi Search ctermbg=LightYellow
hi Search ctermfg=Red

在VIM中,您还可以执行以下操作::highlight Search ctermfg=yellow来即时更改它。

  • ctermfg用于前景色
  • ctermbg用于背景色

Vi文档页面中可用的颜色包括:

*cterm-colors*

NR-16   NR-8    COLOR NAME 
0       0       Black
1       4       DarkBlue
2       2       DarkGreen
3       6       DarkCyan
4       1       DarkRed
5       5       DarkMagenta
6       3       Brown, DarkYellow
7       7       LightGray, LightGrey, Gray, Grey
8       0*      DarkGray, DarkGrey
9       4*      Blue, LightBlue
10      2*      Green, LightGreen
11      6*      Cyan, LightCyan
12      1*      Red, LightRed
13      5*      Magenta, LightMagenta
14      3*      Yellow, LightYellow
15      7*      White

10

在我的情况下,快速修复窗口中的行显示为难以辨认的灰色底青色字,与我的搜索结果不同(更加舒适的黑色底桃红字)。该命令已证实此问题。

:hi

这显示了QuickFixLineSearch的格式设置为

QuickFixLine   xxx term=reverse guibg=Cyan
Search         xxx term=reverse ctermfg=0 ctermbg=222 guifg=#000000 guibg=#FFE792

xxx 有一个样本格式时,

我将以下行追加到我的~/.vimrc

hi QuickFixLine term=reverse ctermbg=52

现在我的终端窗口有了更令人愉悦的深红色背景。运行hi:命令会显示我的终端添加了背景颜色的改变:

QuickFixLine   xxx term=reverse ctermbg=52 guibg=Cyan

(在MacOS High Sierra中使用iTerm2上的vim 8和molokai主题)


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