2009-08-29 4 views
56

У меня есть :set hlsearch как значение по умолчанию.Как избавиться от поиска в Vim

Когда я что-то ищу, поисковые запросы подсвечиваются. Однако много раз я хочу избавиться от подсветки, поэтому я делаю :set nohlsearch. Таким образом, я пока что избавляюсь от бликов.

Однако, если я сделаю новый поиск, то условия поиска не будут выделены.

Я хотел ударить ESC + ESC избавиться от бликов, а затем установить обратно :set hlsearch.

Любые предложения?

+2

возможно дубликат [ВИМ ясно последнего поиска выделения информации] (http://stackoverflow.com/questions/657447/vim-clear-last-search-highlighting) – 2010-07-27 09:56:38

ответ

92

Попробуйте команду :noh.

vi/vim notes

+0

Как бы карта: NOH в но держать -х перерисовать поведение нетронутым? –

+0

Не уверен, что это было частью задания, но если вы настаиваете, почему бы не добавить ': redraw' к сопоставлению? –

+10

Спасибо, использовал vim годами, но не знал об этом. Мне просто интересно, можно ли мои пальцы отвязать/lkjlkj? – codeape

1

вы можете искать что-то не в текстовом файле. В этом случае ничего не будет выделено. (Например,/349i5u9sgh)

+0

Это то, что я делаю сейчас. Я ищу лучшую альтернативу. – Roger

4

Попробуйте это:

set hlsearch! 
nnoremap <F12> :set hlsearch!<CR> 

и нажмите F12, чтобы очистить при желании. Используйте команду :noh в командном режиме для очистки.

36

Я использую команду

/pleasedisablehighlightthanks 

. Или просто

/qewrufhiqwe 

Но вы должны быть осторожны, чтобы не смешивать его со следующей командой!

/qewrufhiqew 
+0

Он будет иметь такой же эффект, как у ': noh', но вы должны быть осторожны, чтобы не ударить то, что можно найти ;-) –

+0

Это метод, который я использовал, - но: noh также показывает основные моменты (оставляя следующий поиск в режиме подсветки), поэтому он «лучше». (Все остальное, я в итоге получил сообщение об ошибке «Не найденное: kkk» внизу, которое нужно очистить до. –

+0

Я просто использую/asdf, это короче :) – g33kz0r

15
:noremap <silent> <c-l> :nohls<cr><c-l> 

Это перерисовки экрана и очистить любые условия поиска с помощью Control-L, удобно :) проще, чем доходя до клавиш F.

8

У меня есть следующие в моей .vimrc:

map <silent> <C-N> :let @/=""<CR> 
+0

Может кто-то меня пропустить, что происходит в этом коде. Я не понимаю. – Roger

+1

'@ /' - это регистр, содержащий последний поисковый запрос. Эта команда очищает этот регистр, что приводит к исчезновению объектов поиска. Это своего рода эквивалент ': nohls'. – jqno

+1

У меня то же самое: пусть сопоставлено - его удобная досягаемость до \ – zen

3

Это может удовлетворить ваши потребности:

nnoremap <esc> :noh<return><esc> 

С небольшим мастерить вы можете заставить его работать в режиме вставки.

Смежные вопросы