VIM:如何设置基于搜索的语法高亮的默认颜色

VIM:如何设置基于搜索的语法高亮的默认颜色

目前我的 /etc/vimrc 文件设置如下:(

if &t_Co > 2 || has("gui_running")
syntax on
set hlsearch
endif

filetype plugin on

 if &term=="xterm"
 set t_Co=8
 set t_Sb=^[[4%dm
 set t_Sf=^[[3%dm
 endif

我的问题是,每当我在 VIM 中搜索字符串时,当它找到它时,它会用亮黄色块突出显示它。这不是问题,除非我尝试查找白色的文本,否则它会很难看清。我尝试更改以下行:

set hlsearch="another_color"

但是当我保存后尝试打开备份文件时出现错误。

Error detected while processing /etc/vimrc:
line   51:
E474: Invalid argument: hlsearch=light

在此代码块中,某些内容告诉我这控制背景和前景色,但我不确定这是否与“hlsearch”选项有关。

if &term=="xterm"
 set t_Co=8
 set t_Sb=^[[5%dm
 set t_Sf=^[[6%dm
endif

我尝试将 5 和 6 改为不同的数字,但没有任何效果。搜索到的文本仍然有一个黄色高亮框。

我的问题是:

1)这个“默认”黄色从何而来?

2)我怎样才能将其更改为其他内容?

答案1

所有语法颜色(包括搜索高亮颜色)都是通过更改高亮组而不是选项来设置的。您可以使用命令设置这些组:highlight。例如,我将搜索高亮从黄色更改为亮青绿色:

:highlight Search guibg=Turquoise4

我还改变了颜色,这是设置IncSearch时的颜色:'incsearch'

:highlight IncSearch gui=underline,bold guifg=White guibg=Red3

参见:help :highlight:help highlight-groups

答案2

搞定了。在 /etc/vimrc 中的“syntax on”行下添加:

hi Search ctermbg=red
hi Search ctermfg=white

此示例将在您使用 VIM 搜索文件时显示带有白色文本的红色块。在 VIM 中,您还可以执行以下操作:

:highlight Search ctermfg=yellow 

即时进行更改。

相关内容