Die incsearch
Funktionalität von Vim gefällt mir sehr gut . Gibt es eine Möglichkeit, es oder etwas ähnliches zu verwenden, während ich einen Ersatz mache?
Wenn ich zum Beispiel im normalen Modus tippe:
:%s/potato/
Kann ich alle potato
s in meiner Datei hervorheben lassen, so wie sie hervorgehoben werden, incsearch
wenn ich schreibe?
/potato
?
Dies würde mir schon bei der Verwendung von regulären Ausdrücken sehr helfen. Ein sehr sehr nettes Geschenk wäre, wenn ich dies schreibe:
:%s/potato/banana/
Es würde das potato
s durch banana
s ersetzen und hervorheben - vielleicht sollten die Ersetzungen in einer anderen Farbe sein. Die Änderung sollte jedoch erst "festgeschrieben" werden, nachdem ich die Eingabetaste gedrückt habe.
Ich benutze im Moment Neovim, falls es hilft.
incsearch
?hlsearch
Sollte ootb funktionieren, wenn ich tippe,:%s/potato/\0/
umpotato
durch sich selbst zu ersetzen , dann sehe ich alle Übereinstimmungen hervorgehoben.:/pattern<CR>
funktioniert aber einwandfrei. Fügen Sie dann% s und die Ersetzungszeichenfolge hinzu. Dann wird die Suche noch einmal verfeinert und mit STRG-R / zum Einfügen in den Suchteil von:%s/
:%s/potato/carrot/c
können Sie durch Ihre Ersetzungen springen ("bestätigen") (Hinzufügeng
, um alle Instanzen in derselben Zeile zu ersetzen), undhlsearch
Sie werden sie im Voraus sehen.Antworten:
Nach einigem Suchen fand ich diese NeoVim-Ausgabe , die wiederum von dieser PR geschlossen wurde und mich zum
inccommand
Setting brachte. Dies meiner Konfigurationsdatei hinzufügen:lässt NeoVim sich fast genau so verhalten, wie ich es in meiner Frage gefordert habe. Ich habe kein Äquivalent für reguläre Vim gefunden, aber ich habe nicht sehr energisch danach gesucht.
quelle
incsearch
in Substitutionen (einen faulen Vimmer und langsam zu sein neo Dinge zu übernehmen) würde ich wahrscheinlich für Kartoffel (Suche/potato
) genießt gewöhnliche inkrementelle Suche highlighighting, und dann mit einer leeren Suche ersetzen:%s//banana
. Aber ich weiß nicht, wie esset inccommand=nosplit
in anderer Hinsicht zu vergleichen ist.inccommand
Einstellung so gut gefallen , dass ich ein Asciinema gemacht habe, das es bei der Arbeit zeigt, falls es Sie dazu motiviert, es mit Neovim zu versuchen: asciinema.org/a/3lzlyzn23c52wwp9mk644ft20