В настоящее время мой файл /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) Как я могу изменить это на что-то другое?

2 ответа2

1

Все синтаксические цвета, включая цвет подсветки поиска, устанавливаются путем изменения группы подсветки, а не параметра. Вы устанавливаете эти группы с помощью команды :highlight . Например я изменил подсветку поиска с желтой на яркую бирюзовую:

:highlight Search guibg=Turquoise4

Я также изменил цвет IncSearch , который является цветом, когда установлено 'incsearch' :

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

Смотрите :help :highlight и :help highlight-groups .

1

Догадаться. В /etc /vimrc в строке "синтаксис на" добавьте:

hi Search ctermbg=red
hi Search ctermfg=white

Этот пример даст вам красный блок с белым текстом при поиске файлов с помощью VIM. Внутри VIM вы также можете сделать:

:highlight Search ctermfg=yellow 

Чтобы изменить это на лету.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .