2009-08-29 19 views
56

Ich habe :set hlsearch als Standardwert.So entfernen Sie die Suchmarkierung in Vim

Wenn ich nach etwas suche, werden Suchbegriffe hervorgehoben. Wie oft ich auch immer das Highlight loswerden möchte, also mache ich :set nohlsearch. Auf diese Weise werde ich die Highlights vorerst los.

Wenn ich jedoch eine neue Suche mache, werden die Suchbegriffe nicht hervorgehoben.

Ich möchte ESC + ESC treffen Highlights loszuwerden und dann wieder :set hlsearch gesetzt.

Irgendwelche Vorschläge?

+2

möglich Duplikat [vim klar letzte Suche Hervorhebung] (http://stackoverflow.com/questions/657447/vim-clear-last-search-highlighting) –

Antwort

92

Versuchen Sie den Befehl :noh.

vi/vim notes

+0

Wie würden Sie Karte: noh zu aber ‚s halten Redraw-Verhalten intakt? –

+0

Nicht sicher, ob das Teil der Aufgabe war, aber wenn Sie darauf bestehen, warum fügen Sie '' redraw' 'nicht zum Mapping hinzu? –

+10

Danke, benutze vim seit Jahren aber war mir dessen nicht bewusst. Ich frage mich nur, ob es für meine Finger möglich ist zu verlernen/lkjlkj? – codeape

1

Sie für etwas, das nicht in der Textdatei suchen können. In diesem Fall wird nichts hervorgehoben. (Z/349i5u9sgh)

+0

das ist was ich jetzt mache Ich suche nach einer besseren Alternative – Roger

4

Dieses versuchen:

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

und drücken F12 zu löschen, wenn gewünscht. Verwenden Sie :noh im Befehlsmodus, um zu löschen.

36

Ich benutze

/pleasedisablehighlightthanks 

Befehl. Oder einfach

/qewrufhiqwe 

Aber Sie sollten vorsichtig sein, dies nicht mit dem folgenden Befehl zu mischen!

/qewrufhiqew 
+0

Es hätte den gleichen Effekt wie '' noh' ', aber man muss aufpassen, dass man nicht etwas trifft, was man finden kann ;-) –

+0

Das ist die Technik, die ich benutzt habe - aber das: noh dreht auch die Lichter ab (die nächste Suche bleibt im Highlight-Modus), also ist es "besser". (Alles andere auseinander, ich am Ende mit einem 'Muster nicht gefunden: kkk' Fehlermeldung am unteren Rand, die gereinigt werden muss. –

+0

Ich benutze nur/asdf, es ist kürzer :) – g33kz0r

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

Dies würde den Bildschirm und deaktivieren Sie alle Suchbegriffe mit Strg-L, handlich :) einfacher als die bis zu den F-Tasten neu zu zeichnen.

8

Ich habe folgendes in meinem .vimrc:

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

Kann mir jemand durch den Code gehen? Ich verstehe es nicht. – Roger

+1

'@ /' ist das Register, das den neuesten Suchbegriff enthält. Dieser Befehl löscht dieses Register, was dazu führt, dass die Suchhighlights verschwinden. Es ist irgendwie äquivalent zu ': nohls'. – jqno

+1

Ich habe das gleiche: lassen - es ist eine komfortable Reichweite bis \ – zen

3

Dies könnte Ihre Bedürfnisse anzupassen:

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

Mit ein wenig Bastelei Sie können es im Einfügemodus arbeiten.

Verwandte Themen