Bearbeiten Sie verschiedene Wörter gleichzeitig, eine Zeile wie in Sublime Text mit multiplizierter Auswahl


14

Ist es möglich, mehrere Wörter gleichzeitig zu bearbeiten, die sich in derselben Zeile befinden?

Angenommen, ich habe Folgendes:

Spam and Eggs is all you need for a healthy breakfast

und ich möchte die Zeile ändern zu:

organic_Spam and organic_Eggs is all you need for a healthy breakfast

Ich möchte "Spam" und "Eier" markieren und gleichzeitig "organic_" vor "Spam" und "Eier" stellen. Ein bisschen wie mit Visual Block, um gleichzeitig in verschiedene Zeilen zu schreiben, aber hier schreibe Zeug in die gleiche Zeile. Ich habe gesehen, wie ein Kollege dies mit Sublime Text getan hat, und habe versucht, zu googeln, aber ohne Erfolg.



Ich denke immer, in vim mehrere Auswahlen / Cursor-Funktion ist nur eine Augenweide ...
Kent

Antworten:


18

Ich stimme Alexander hier zu. In der täglichen Bearbeitung würde ich wahrscheinlich auch den .Befehl verwenden, aber wenn Sie nur einen Befehl ausführen möchten, würde ich den Ersatzbefehl verwenden:

:s/S\|E/organic_&/g

wohingegen das &das abgeglichene Muster ist /S\|E/.


21

In Vim gibt es keine Multi-Cursor wie in Sublime Text (aber es gibt einige Plugins, an die ich mich erinnere). Aber es scheint nicht so wichtig für Vim zu sein, weil es einen anderen Weg gibt, dies zu erreichen. Zum Beispiel haben Sie diese Zeile

Spam and Eggs is all you need for a healthy breakfast

Ich würde so etwas tun: den Cursor im normalen Modus auf den ersten Buchstaben von setzen Spamund eingeben iorganic_Esc, dann zweimal wauf springen Eggsund .(Punkt) drücken , um die letzte Aktion zu wiederholen. Für mich ist das viel produktiver als in Sumlime Text, aber vielleicht nicht so ausgefallen und intuitiv.

Auf jeden Fall gibt es in beiden Editoren eine Menge Vorverarbeitungsmaterial für diese Aktion. In Sublime Text können Sie Orte für eine neue Multi-Cursor-Position mit einem Tastenkürzel auswählen und anschließend Wörter gleichzeitig bearbeiten. In Vim geschieht diese Art der "Vorverarbeitung" tatsächlich zum Zeitpunkt der Bearbeitung der Zeile, ich meine all das ww.Zeug.


Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.