webentwicklung-frage-antwort-db.com.de

Wie können Sie Vim unhighlight machen, wonach Sie gesucht haben?

Ich suche nach "nurple" in einer Datei. Ich fand es großartig. Aber jetzt wird jedes Vorkommen von "nurple" in krankem Schwarz auf Gelb gerendert. Für immer.

Das heißt, solange ich nicht nach etwas suche, von dem ich weiß, dass es nicht gefunden wird, z. B. "asdhfalsdflajdflakjdf", um die vorherige Hervorhebung der Suche zu löschen.

Kann ich nicht einfach eine Zaubertaste drücken, um die Highlights zu löschen, wenn ich mit der Suche fertig bin?

218
mbac32768

Fügen Sie dies einfach in Ihre .vimrc ein

" <Ctrl-l> redraws the screen and removes any search highlighting.
nnoremap <silent> <C-l> :nohl<CR><C-l>
166
Lucas S.

:noh (kurz für nicht hervorgehoben) erledigt den Trick.

328
Lee H

/lkjasdf war immer schneller als :noh für mich.

78
jon
" Make double-<Esc> clear search highlights
nnoremap <silent> <Esc><Esc> <Esc>:nohlsearch<CR><Esc>
24
Andy Lester

Dann ziehe ich das vor:

map  <F12> :set hls!<CR>
imap <F12> <ESC>:set hls!<CR>a
vmap <F12> <ESC>:set hls!<CR>gv

Und warum? Weil es schaltet um der Schalter: Wenn Hervorhebung eingeschaltet ist, dann drücken Sie F12 schaltet es aus. Und umgekehrt. HTH.

19
Zsolt Botykai

Fügen Sie die folgende Zeile an das Ende Ihres .vimrc, um das Hervorheben insgesamt zu verhindern:

set nohlsearch
16
Daniel Bruce
 *: noh * *: nohlsearch * 
: noh [lsearch] Deaktivieren Sie die Markierung für die Option 'hlsearch'. Es 
 Wird automatisch wieder aktiviert, wenn ein Suchbefehl 
 Oder die Option 'hlsearch' verwendet wird. 
 Dieser Befehl funktioniert nicht in einem automatischen Befehl, da 
 Der Hervorhebungsstatus wird gespeichert und wiederhergestellt, wenn 
 autocommands | autocmd-searchpat |. 
 ausgeführt wird. 

Ich fand es knapp unter :help #, das ich die ganze Zeit treffe und das alle Wörter auf der aktuellen Seite wie die aktuelle hervorhebt.

9
Kent Fredric

Ich suche so oft, dass ich es nützlich fand, den Unterstrich zuzuordnen, um die Suchhervorhebung zu entfernen:

nnoremap <silent> _ :nohl<CR>
4
jeffdaly

Ich denke, die beste Antwort ist eine Abkürzung für den Anführer:

<leader>c :nohl<CR>

Immer wenn Ihr Dokument mit hervorgehobenen Begriffen übersät ist, drücken Sie einfach , + C (Ich habe meinen Anführer mit einem Komma versehen). Das funktioniert einwandfrei.

4
Daniel Miessler

Ich habe dies in meinem .vimrc:

nnoremap ; :set invhlsearch<CR>

Diesen Weg, ; schaltet die Hervorhebung der Suche um. Normalerweise ist die ; Taste wiederholt den letzten t/T/f/F Befehl, aber ich habe diese Funktionalität nie wirklich benutzt. Ich finde diese Einstellung viel nützlicher, da ich die Hervorhebung der Suche sehr schnell ein- und ausschalten und auf einen Blick leicht erkennen kann, wo sich meine Suchergebnisse befinden.

3
Max Cantor

Es gibt hlsearch und nohlsearch. :help hlsearch liefert weitere Informationen.

Wenn du binden willst F12 Zum Ein- und Ausschalten können Sie Folgendes verwenden:

map     <F12>   :nohlsearch<CR>
imap    <F12>   <ESC>:nohlsearch<CR>i
vmap    <F12>   <ESC>:nohlsearch<CR>gv
3

Ich denke, diese Antwort in " Vim clear last search highlighting " ist besser:

:let @/ = ""
3
nocache

Wenn Sie einen Wechsel wünschen und sicherstellen möchten, dass die Hervorhebung bei der nächsten Suche wieder aktiviert wird, können Sie diesen verwenden

nmap <F12> :set hls!<CR>
nnoremap / :set hls<CR>/
0
Guillaume