7

Когда я выполняю поиск в vim, мне нравится, когда мои результаты подсвечиваются и супер-видимы, поэтому я даю им яркий желтый фон и черный передний план в моем .vimrc .

" When highlighting search terms, make sure text is contrasting colors
:highlight Search guibg=yellow guifg=black

(Это для версий vim с графическим интерфейсом, таких как MacVim или Gvim; для командной строки вы должны использовать ctermbg и ctermfg .)

Но я иногда использую поиск с командой, как в c/foo - «перейти от курсора к следующему появлению foo ».

В этом случае я не хочу выделять все вхождения foo .

Можно ли отключить подсветку только в тех случаях, когда поиск используется в качестве движения для команды?

2 ответа2

3

Эти наивные отображения, кажется, помогают.

  • нормальный поиск

    Включите выделение на перед выполнением поиска:

    nnoremap / :set hls<CR>/
    
  • поиск движения

    Включите подсветку от перед выполнением поиска:

    nnoremap v/ :set nohls<CR>v/
    nnoremap d/ :set nohls<CR>d/
    nnoremap y/ :set nohls<CR>y/
    nnoremap c/ :set nohls<CR>c/
    

Обратите внимание, что вам нужно настроить подобное сопоставление для ? ,

1

Чтобы навсегда отключить подсветку поисковых запросов:

:set nohlsearch
(or)
:set nohls

Но, вероятно, вы хотите, чтобы выделить. С другой стороны, если вы хотите временно избавиться от выделения, введите:

:nohlsearch
(or)
:noh

Он прекратит выделять текущий поиск, пока вы не выполните поиск снова.

Хотя это не идеальный ответ для вас, это хороший обходной путь, и это то, что я использую.

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