Kiedy wyszukujesz słowo w pliku z czymś podobnym /console.log
, wszystkie wystąpienia console.log
są podświetlone.
Gdy już Cię to nie interesuje, wyróżnianie może być rozpraszające. Moja obecna strategia usuwania wyróżnienia polega na zrobieniu czegoś takiego /asntehua
. Czy istnieje właściwy sposób na usunięcie podświetlenia tego słowa?
/skldafjlksjdf
;):nnoremap <silent> <CR> :nohlsearch<CR><CR>
. Wciśnij klawisz Return w trybie poleceń, a podświetlenie zniknie.Odpowiedzi:
Alternatywnie
:noh
, lubię:let @/=""
mapować do skrótu klawiaturowego.Różnica polega na tym, że
:noh
opuszcza termin wyszukiwania w rejestrze poszukiwanych, takn
iN
w trybie normalnym wznowić wyszukiwanie skoki do następnego / poprzedniego meczu i ponownego podświetlenia.:let @/=""
Z drugiej strony użycie wiadomości powoduje wyświetlenie wiadomościE25: No previous regular expression
i pozostawia kursor tam, gdzie była , co jest szczególnie wygodne, jeśli jeszcze nie wieszctrl
-o
jeszcze i przypadkowo trafiłeśn
.Można to również wykorzystać w inny sposób. Aby vim podświetlił jakiś tekst bez przechodzenia do niego, możesz
:let @/="some text"
W tych wyrażeniach @ pozwala odwoływać się do rejestru, a @ / jest rejestrem zawierającym ostatni wzorzec wyszukiwania.
źródło
Po prostu wpisz
(Gdzie
<cr>
symbolizuje powrót karetki, tj. Enter.) Pełna wersja tej komendy nie jest skrócona:nohlsearch
.Dla wygody możesz mieć mapowanie, takie jak
w twoim
.vimrc
. Ponieważ moim liderem jest Space, pozwala mi to wyczyścić zaznaczenie po prostu dotykając spacji dwa razy. (Domyślnie<Leader>
jest ustawiony na\
)Inną popularną opcją jest powiązanie go z Ctrl+ L, ponieważ jest to mniej więcej domyślna opcja „przerysowanego ekranu terminala”, co jest mniej więcej tym, co robisz:
Ma to efekt uboczny również odświeżanie ekranu terminala, który może być powolna jeśli połączenie terminal jest powolny (co jest bardzo rzadkie w dzisiejszych czasach).
UWAGA: Jeśli używasz tpope / vim-sensible, to już oferuje
<C-l>
mapowanie wymienione powyżej.źródło
Wyłącz podświetlanie wyszukiwania na stałe
Dopasowania nie będą podświetlane przy każdym wyszukiwaniu za pomocą /
Wyczyść zaznaczenie do następnego wyszukiwania
lub
:nohlsearch
(czyści aż nlub Njest wciśnięty lub świeży Wyszukiwanie odbywa)Wyczyść zaznaczenie po naciśnięciu ESC
Usuń zaznaczenie po naciśnięciu innego klawisza lub mapy niestandardowej
Wyczyść podświetlenia po naciśnięciu \(ukośnik odwrotny)
Wyczyść zaznaczenia po ESCdwukrotnym trafieniu
źródło
nnoremap <esc> :noh<return><esc>
do mojego,vimrc
ale to nie działa. Mamjk
odwzorowane uciec, to może być, dlaczego?ESC
klucz?jk
nie wyłącza podświetlonego tekstu (ale nadal działa jakoEsc
). Naciśnięcie myEsc
w lewym górnym rogu klawiatury powoduje wyłączenie podświetlonego tekstu.jk
mapę podESC
mapą i upewnij się, że używasz prostejmap
zamiastnoremap
Po wypróbowaniu kilku sugerowanych rozwiązań dla skrótów do tego w ~ / vimrc, postanowiłem po prostu go dodać
nmap <esc><esc> :noh<return>
. Podwójna ucieczka zapobiega zakłóceniom w działaniu klawiszy strzałek. Jeśli jesteś w trybie wstawiania, konieczna jest potrójna ucieczka. Jest to szybkie do wykonania i łatwe do zapamiętania.źródło
Dodałem autocmd do mojego .vimrc, który usuwa podświetlenie za każdym razem, gdy wchodzisz w tryb wstawiania.
źródło
nohl
zamiastlet @/=""
byłoby lepszym rozwiązaniem, ponieważ odtąd nie blokujesz bieżącego wyszukiwania.:let @/=""
poleceniem, aleautocmd InsertEnter * :noh
z jakiegoś powodu nie ma, jakiś pomysł, dlaczego?Jeśli nie chcesz wyróżniać po żadnym wyszukiwaniu, możesz użyć tego (lepiej):
lub to (gorzej):
źródło
Podczas pisania
:help incsearch
znalazłem następujące instrukcje:którego zrezygnowałem, ponieważ inne rozwiązania, które wypróbowałem, nie były idealne, a takie rozwiązanie pochodzi „prosto z pyska konia”, że tak powiem. Podświetla wszystkie pasujące wyszukiwania w bieżącym oknie.
źródło
Ma to tę zaletę, że nie trzeba wpisywać go dokładnie. Wadą jest to, że w pliku 4096 bajtów istnieje szansa około 1: 68719476736, że to nie działa, a kursor przeskoczy w inne miejsce. Ta szansa wzrasta w przypadku większych plików.
źródło
asdfasdf
jest wyjątkowy w tym sensie, że zdarza się często w praktycznych plikach, niż w losowo wybranej 8-bajtowej sekwencji. Zatem szansa jest znacznie większa. :-)Nie sądzę, aby usunięcie hls w ogóle byłoby dobrą rzeczą, a co z ułatwieniem włączenia lub wyłączenia utworzenia łatwego skrótu (boolean) W moim przypadku ->
Magia dzieje się z powodu „
!
” na końcu ustawieniaźródło
Uważam, że bardzo rzadko w ogóle chcę wyróżniać, a kiedy muszę je podkreślać, to tylko na krótką chwilę. Moje rozwiązanie to
Umożliwia to podświetlanie po naciśnięciu
\/
i wyłącza je ponownie po ponownym naciśnięciu. Zapewnia to łatwy dostęp do wyróżniania w rzadkich przypadkach, gdy jest to potrzebne.źródło