Visuell aktuelles Suchergebnis auswählen

9

Ich habe hlsearchfestgelegt, aber es bringt mich manchmal dazu zu denken, dass ich den Suchbegriff visuell ausgewählt habe und einfach drücken kann c, um ihn zu ändern.

Der gesuchte Begriff ist möglicherweise keine einfache Anzahl von Buchstaben, Wörtern oder sogar Zeilen - und ich möchte sowieso nicht zählen.

Gibt es eine Möglichkeit vh(oder ch) beispielsweise, wo ausgeführt wird, hbis die aktuelle Hervorhebung aufhört?

OJFord
quelle

Antworten:

14

Sie können die gnBewegung dafür verwenden, sie wählt das nächste gesuchte Element aus.

Sie können es so verwenden:

/foo<CR>
gn            -> select the next "foo"
sbar<Esc>     -> (optional) substitute it with "bar"

Bonus: Um .die Suche und die Änderung zu wiederholen, verwenden Sie a c, um alles in einem Befehl auszuführen:

/foo<CR>
cgnbar<Esc>
...           -> find and change the 3 next foo
nobe4
quelle
1
Fantastisch! Vielen Dank. (Jeder, der wie ich vermisst, warum .wird die gesamte Aktion wiederholen und kann es cnicht zum
Laufen bringen
3
Beachten Sie, dass Sie gNdie vorherige Übereinstimmung auch visuell auswählen können.
Statox
Was ist der Unterschied zwischen diesem und dem Drücken von n, um zum nächsten Suchergebnis zu gelangen?
user1717828
es ändert sich auch, also anstatt zu wiederholen n.(nächstes Vorkommen, wiederholen Sie die Änderung), können Sie einfach drücken .(wiederholen Sie die Änderung, was "das nächste Vorkommen ändern" bedeutet)
nobe4
In der Tat ist das Original beim .Aufrufen verschwunden, sodass Vim nach dem nächsten sucht . So auch, was sowieso getan hätte (und mehr). Beachten Sie jedoch wie bei , dass dies nur dann gut funktioniert, wenn es nicht enthält ! gnfoofoognnnbarfoo
Joeytwiddle