Как сделать так, чтобы Vim не выделял то, что вы искали?

StackOverflow https://stackoverflow.com/questions/99161

  •  01-07-2019
  •  | 
  •  

Вопрос

Я ищу «нурпл» в файле.Я нашел, отлично.Но теперь каждое появление «нурпла» отображается отвратительным черным на желтом фоне.Навсегда.

То есть навсегда, пока я не найду что-то, что, как я знаю, не будет найдено, например «asdhfalsdflajdflakjdf», просто чтобы очистить предыдущее выделение поиска.

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

Это было полезно?

Решение

Просто поместите это в свой .vimrc

" <Ctrl-l> redraws the screen and removes any search highlighting.
nnoremap <silent> <C-l> :nohl<CR><C-l>

Другие советы

:noh (сокращение от nohighlight) поможет.

/lkjasdf всегда был быстрее, чем :noh для меня.

" Make double-<Esc> clear search highlights
nnoremap <silent> <Esc><Esc> <Esc>:nohlsearch<CR><Esc>

Тогда я предпочитаю это:

map  <F12> :set hls!<CR>
imap <F12> <ESC>:set hls!<CR>a
vmap <F12> <ESC>:set hls!<CR>gv

И почему?Потому что переключает Переключатель:если подсветка включена, то нажмите F12 выключает его.И наоборот.ХТХ.

Добавьте следующую строку в конец вашего .vimrc чтобы вообще предотвратить выделение:

set nohlsearch
            *:noh* *:nohlsearch*
:noh[lsearch]       Stop the highlighting for the 'hlsearch' option.  It
            is automatically turned back on when using a search
            command, or setting the 'hlsearch' option.
            This command doesn't work in an autocommand, because
            the highlighting state is saved and restored when
            executing autocommands |autocmd-searchpat|.
            Same thing for when invoking a user function.

Я нашел это чуть ниже :help #, который я постоянно нажимаю и который выделяет все слова на текущей странице, как текущую.

Я ищу так часто, что мне показалось полезным сопоставить клавишу подчеркивания, чтобы убрать выделение при поиске:

nnoremap <silent> _ :nohl<CR>

Я думаю, что лучший ответ - это иметь ярлык для лидера:

<leader>c :nohl<CR>

Теперь, когда ваш документ завален выделенными терминами, вы просто нажимаете , + С (У меня мой лидер обозначен запятой).Он работает отлично.

Я думаю, что этот ответ в "Vim очистить выделение последнего поиска" лучше:

:let @/ = ""

У меня есть это в моем .vimrc:

nnoremap ; :set invhlsearch<CR>

Сюда, ; переключит подсветку поиска.Обычно ; key повторяет последнюю команду t/T/f/F, но я никогда не использовал эту функцию.Я считаю эту настройку гораздо более полезной, потому что я могу очень быстро включать и выключать подсветку поиска и легко с первого взгляда понять, где находятся мои результаты поиска.

Есть hlsearch и nohlsearch. :help hlsearch предоставит дополнительную информацию.

Если вы хотите связать F12 чтобы включить/выключить его, вы можете использовать это:

map     <F12>   :nohlsearch<CR>
imap    <F12>   <ESC>:nohlsearch<CR>i
vmap    <F12>   <ESC>:nohlsearch<CR>gv

Кроме того, если вы хотите иметь переключатель и быть уверены, что выделение будет повторно активировано при следующем поиске, вы можете использовать это

nmap <F12> :set hls!<CR>
nnoremap / :set hls<CR>/

Я добавляю следующее сопоставление в свой ~/.vimrc

map e/ /sdfdskfxxxxy

И в режиме ESC нажимаю e/

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top