В VIM после нахождения текста с помощью команды "/" этот текст остается выделенным.
Какую команду удалить? Я не хочу вообще удалять возможности выделения, но не хочу иметь все эти яркие текстовые пятна, как только я найду то, что мне нужно.
Спасибо.
В VIM после нахождения текста с помощью команды "/" этот текст остается выделенным.
Какую команду удалить? Я не хочу вообще удалять возможности выделения, но не хочу иметь все эти яркие текстовые пятна, как только я найду то, что мне нужно.
Спасибо.
Введите это:
:noh
Вы можете переключать его с помощью
:set hls!
Конечно, быстрая и грязная альтернатива - это сделать еще один поиск тарабарщины:
/asdsad
Я обычно привязываю ключ к :set hls!, чтобы сделать это проще и использовать подход тарабарщины, когда я нахожусь на vim на какой-то машине. У меня нет моего профиля, установленного на.
У меня это в моем .vimrc:
map <leader>h :set hlsearch!<cr>
Итак, когда я печатаю:
\h
Он переключает подсветку вкл/выкл.
Я ленив и набираю что-то вроде /asdf, затем нажимаем клавишу RETURN.
Если вы не хотите удалять выделение, одним из лучших способов является очистка регистра поиска, если, конечно, вам не нужны элементы поиска позже. Это будет , чтобы предотвратить повторное включение выделения, а (Edit: noh не отключает выделение навсегда) не позволяет вам случайно прыгать. Вот как у меня есть моя установка:
nmap <silent> ,/ :[email protected]/=""<CR>
Что это значит, сопоставьте последовательность клавиш ,/ в нормальном режиме, чтобы очистить регистр поиска @/, установив его в пустую строку. Это просто альтернатива тому, что уже было сказано.
:set nohlsearch
:nohlsearch
или :noh для краткости. Это очищает подсветку до тех пор, пока не будет выполнен новый поиск или не будет нажата n или n
Очистить блики при нажатии клавиши ESC
nnoremap <esc> :noh<return><esc>
Очистить подсветку при нажатии \ (обратная косая черта) дважды
nnoremap \\ :noh<return>
В дополнение к "очистить регистр поиска" вы можете даже reset регистра поиска до его предыдущего значения:
command! -nargs=* -range S
\ let [email protected]/|exe ':'.<line1>.','.<line2>.'s'.<q-args>|let @/=atslash
Однако:
- это не reset предыдущий статус :hls. Я не считаю, что это возможно вообще.
- это определяет новую команду, :S, вместо :S. Вы можете использовать cabbrev для сопоставления друг с другом, но это сломается, когда вы добавите диапазон в команду подстановки.
:noh избавится от выделенного текста.