Видаліть підсвітку пошуку VIM


13

Після проведеного нами пошуку всі збіги відповідного запиту залишаються виділеними, і це дратує. Це відбувається навіть після закриття відповідного файлу (нормальна поведінка?). Як це видалити?

Відповіді:


15

Ви хочете команду :nohlsearch, але ви не хочете вводити її кожен раз. Помістіть це у своєму ~ / .vimrc:

nnoremap <silent> <leader>n :nohlsearch<CR>

Після цього ви просто введіть свого лідера (який за замовчуванням є \), а потім nочистити відповідність. Вам не потрібно використовувати n; якщо ви віддаєте перевагу, виберіть щось інше.

Ви також можете перевпорядкувати свого керівника на щось більш зручне, якщо вам подобається. Я використовую кому:

let mapleader = ","

(Це стосується перед картографуванням, щоб очистити пошук.)


4
Я просто так: ні, чого достатньо, щоб vim знав, що я маю на увазі. :)
sml

@scottl Досить справедливо (і гарне нагадування про те, що всі команди мають ярлики), але я все одно люблю відображати часто використовувані команди.
Телемах

10

Я просто /qiw772723euz"шукати" те, що немає у файлі. хейкі вирішення, я знаю, мене цікавить і реальне рішення :)


це жахливо, але приємне швидке і брудне 'рішення', хоча :)
matthias krull

4

Подібно до відповіді @Telemachus вище, коментар до цієї відповіді в SO від @David Winslow запропонував відобразити перемикач hlsearch. Ви зробите карту наступного:

nmap <silent> <leader>n :set hlsearch!<CR>

Якщо натиснути n, тоді вимкніть пошук під час вимкнення і кожного разу, коли ви натискатимете його.


3

У своєму конфігурації я очищаю виділені пошукові терміни, просто натискаючи клавішу Enter у командному режимі . Так налаштовано.

set hlsearch    " highlight all matched terms
" Pressing return clears highlighted search
:nnoremap <CR> :nohlsearch<CR>/<BS>

Як зауваження, я хотів би переконатися, що мої пошукові збіги підсвічуються надто чітко , незалежно від колірної гами, тому я надаю їм чорний текст на жовтому тлі.

" When highlighting search terms, make sure text is contrasting color
:highlight Search ctermbg=yellow ctermfg=black
" Do the same for gvim
:highlight Search guibg=yellow guifg=black

0

У мене дещо інше рішення. Мені здається, що природною справою було б натиснути, <esc>щоб вона пройшла. Однак це не працює. Відображення <esc>з :nohмає неприємні побічні ефекти, так що це не варіант небудь. <Leader>nі подібні відображення мені здаються неінтуїтивними для такого тривіального завдання. Однак <esc>двічі натиснути - це те, з чим я можу жити:

nnoremap <silent> <esc><esc> :nohlsearch<CR>

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.