636 Stimmen

"Weiter suchen" in Vim

Um in Vim vorwärts zu suchen nach cake würde ich tippen /cake , aber der Cursor springt zum ersten Treffer, wenn ich die Eingabetaste drücke. Gibt es einen Vim-Befehl, der analog zu "find next" ist?

15voto

Micah Elliott Punkte 8404

Wie bereits erwähnt, gibt es mehrere Möglichkeiten der Suche:

/pattern
?pattern
* (and g*, which I sometimes use in macros)
# (and g#)

sowie die Navigation vorwärts/nachwärts mit N y n .

Sie können Ihren Suchverlauf auch bearbeiten/aufrufen, indem Sie die Suchabfrage mit / und dann den Zyklus mit C-p / C-n . Noch nützlicher ist q/ Dies führt Sie zu einem Fenster, in dem Sie durch den Suchverlauf navigieren können.

Ebenfalls zu berücksichtigen ist die wichtige 'hlsearch' (Typ :hls zu aktivieren). Dies macht es viel einfacher, mehrere Instanzen Ihres Musters zu finden. Vielleicht möchten Sie sogar Ihre Übereinstimmungen mit etwas wie "extra hell" machen:

hi Search ctermfg=yellow ctermbg=red guifg=...

Aber dann wirst du vielleicht verrückt, wenn du ständig gelbe Streichhölzer auf deinem Bildschirm hast. Deshalb werden Sie oft :noh . Dies ist so häufig, dass eine Zuordnung angebracht ist:

nmap <leader>z :noh<CR>

Ich erinnere mich leicht daran, dass es sich dabei um z da ich früher ständig getippt habe /zz<CR> (was sehr selten vorkommt), um meine Markierung zu löschen. Aber die :noh Die Kartierung ist viel besser.

6voto

bass chuck Punkte 69

Wenn Sie die Taste Ctrl + Enter nachdem Sie etwas wie "/wordforsearch" gedrückt haben, können Sie das Wort "wordforsearch" in der aktuellen Zeile finden. Dann drücken Sie n für das nächste Spiel; drücken Sie N für das vorherige Spiel.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X