Entfernen Sie die VIM-Suchmarkierung

13

Nach einer Suche, die ich durchgeführt habe, bleiben alle Übereinstimmungen für die jeweilige Abfrage hervorgehoben und es ist ärgerlich. Dies geschieht auch nach dem Schließen der jeweiligen Datei (normales Verhalten?). Wie entferne ich das?

Alex
quelle

Antworten:

15

Sie möchten den Befehl :nohlsearch, aber nicht jedes Mal eingeben. Fügen Sie dies in Ihre ~ / .vimrc ein:

nnoremap <silent> <leader>n :nohlsearch<CR>

Danach geben Sie einfach Ihren Anführer ein (standardmäßig \) und nlöschen dann die Übereinstimmungen. Sie müssen nicht verwenden n; Wenn Sie es vorziehen, wählen Sie etwas anderes.

Sie können Ihren Anführer auch auf etwas Bequemeres einstellen, wenn Sie möchten. Ich benutze ein Komma:

let mapleader = ","

(Das geht vor dem Mapping, um Suchanfragen zu löschen.)

Telemachus
quelle
4
Ich mache nur: Nein, das reicht, damit Vim weiß, was ich meine. :)
sml
@scottl Gut genug (und eine gute Erinnerung daran, dass alle Befehle Verknüpfungen haben), aber ich mag es immer noch, häufig verwendete Befehle zuzuordnen.
Telemachus
10

Ich /qiw772723euz"suche" nur nach etwas, das nicht in der Datei ist. hacky Workaround, ich weiß, ich interessiere mich auch für eine echte Lösung :)

Akira
quelle
das ist zwar schrecklich, aber eine schöne schnelle und schmutzige "lösung" :)
matthias krull
4

Ähnlich wie bei der obigen Antwort von @Telemachus schlug ein Kommentar zu dieser Antwort von @David Winslow bei SO die Zuordnung eines Umschalters von vor hlsearch. Sie würden folgendes abbilden:

nmap <silent> <leader>n :set hlsearch!<CR>

Wenn Sie n drücken, wird die Hervorhebungssuche bei jedem Treffer ein- und ausgeschaltet.

technomalogisch
quelle
3

In meiner Konfiguration lösche ich markierte Suchbegriffe, indem ich einfach die Eingabetaste im Befehlsmodus drücke . So ist das konfiguriert.

set hlsearch    " highlight all matched terms
" Pressing return clears highlighted search
:nnoremap <CR> :nohlsearch<CR>/<BS>

Als Randnotiz möchte ich sicherstellen, dass meine Suchtreffer unabhängig vom Farbschema sehr deutlich hervorgehoben werden. Deshalb gebe ich ihnen schwarzen Text auf gelbem Hintergrund.

" When highlighting search terms, make sure text is contrasting color
:highlight Search ctermbg=yellow ctermfg=black
" Do the same for gvim
:highlight Search guibg=yellow guifg=black
Nathan Long
quelle
0

Ich habe eine etwas andere Lösung. Für mich ist es eine Selbstverständlichkeit, Druck auszuüben <esc>, um das Problem zu lösen. Das geht aber nicht. Die Zuordnung <esc>zu :nohhat schlimme Nebenwirkungen, daher ist dies auch keine Option. <Leader>nund ähnliche Abbildungen erscheinen mir für eine so triviale Aufgabe nicht intuitiv. Mit <esc>zweimaligem Drücken kann ich jedoch leben:

nnoremap <silent> <esc><esc> :nohlsearch<CR>

Sigvaldm
quelle