目前我的 /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
即时进行更改。