Как сделать так, чтобы Vim не выделял то, что вы искали?
Вопрос
Я ищу «нурпл» в файле.Я нашел, отлично.Но теперь каждое появление «нурпла» отображается отвратительным черным на желтом фоне.Навсегда.
То есть навсегда, пока я не найду что-то, что, как я знаю, не будет найдено, например «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/