Vim: Как изменить цвет выделения для поисковых запросов и выбора быстрого исправления


124

Я использую цветовую схему пустыни, в которой белый текст на оранжевом фоне используется для выделения результатов поиска. Такой же шаблон используется для выбранной записи в окне быстрого исправления.

Белый на оранжевом не очень читается. Как мне изменить это в .vimrc?

Изменить: Спасибо за быстрый ответ, для схемы пустыни я сейчас использую следующую модификацию выделения поиска:

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

Пурпурный цвет довольно легко обнаружить визуально и он, ИМХО, не используется для раскраски синтаксиса в схеме пустыни.

Ответы:


162

Посмотри на $VIMRUNTIME/colors/desert.vim. Отображение цветов определяется там с помощью hi[ghlight]команды. Подсветка поиска определяется как

hi Search guibg=peru guifg=wheat

для графического интерфейса и

hi Search cterm=NONE ctermfg=grey ctermbg=blue

для терминалов.

Вы можете переопределить этот параметр в своем, .vimrcиспользуя ту же команду после выбора вашего colorscheme. Введите :h hiдля справки.


2
Привет! Вы мне только что намекнули. Я всегда использовал: help вместо: h;)
Juve

2
Я нашел цветовую схему торта, которая мне подходит. : colorscheme torte
Джеймс Миллс

13
Вам также может потребоваться, :set hlsearchесли ваши результаты поиска вообще не выделяются.
Джефф Аллен

Чтобы сделать это один раз для текущего сеанса vim и не сохранять изменения, просто запустите его в режиме ex ( :) перед hiкомандой::hi Search cterm=NONE ctermfg=grey ctermbg=blue
Nitrodist

Я вижу, что это выделяет все экземпляры. Как изменить выделение экземпляра, на котором в данный момент находится курсор?
Коста

49

Для меня я должен добавить hlsearch под syntax onв~/.vimrc

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

6

В моем случае строка в окне QuickFix показывала нечитаемый серый цвет на голубом, что отличалось от моих результатов поиска (более приятный черный на персиковом). Это было подтверждено командой

:hi

который показал форматирование QuickFixLineи Searchбыло установлено на

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

(vim 8 на MacOS High Sierra в iTerm2, с темой молокаи)

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.