Hier ist eine Frage von Herrn Ashi, einem regelmäßigen Leser bei Techglimpse. Er fragt, wie man Text am Anfang jeder Zeile im Vim-Editor einfügt?
Ich wollte nur wissen, ob es einen Vim-Befehl gibt, um am Anfang jeder Zeile einen Text einzufügen? Angenommen, ich möchte am Anfang jeder Zeile „Hallo“ einfügen?
Wie füge ich Text am Anfang jeder Zeile im Vim-Editor ein?
Ja, das ist möglich. Sie können den Ersatzbefehl wie unten gezeigt verwenden:
# vim sample.txt
Methode 1: Geben Sie den folgenden Befehl ein und drücken Sie die Eingabetaste.
:%s/^/hello/
Angenommen, Sie möchten ein Leerzeichen oder ein anderes Sonderzeichen hinzufügen, dann hängen Sie es einfach an den Text an.
:%s/^/hello : /
Sie können auch am Anfang von Zeile 10 bis 20 Text einfügen (also den Bereich).
:10,20s/^/hello : /
Hinweis: Das obige Beispiel fügt Text am Anfang der 10. bis 20. Zeile ein. Suchen Sie nach dem missing %
, was bedeutet, dass alle Zeilen ersetzt werden.
Methode 2:Marker verwenden
Schritt 1: Bewegen Sie den Cursor auf die Zeile, ab der Sie Text einfügen möchten.
Schritt 2: Drücken Sie ESC
und geben Sie ma
ein . Dieser Schritt erstellt eine Markierung a
Schritt 3: Bewegen Sie den Cursor zu der Zeile, an der Sie das Einfügen des Textes beenden möchten.
Schritt 4: Geben Sie
ein:'a,.s/^/hello : /
Nun, der Befehl mag komplex aussehen, aber er ähnelt der Verwendung von Bereich. In Schritt 2 erstellen wir einen neuen Marker a
. Dann beginnt der Befehl mit typewriter apostrophe ( ' )
gefolgt von der Markierung a
– bezeichnet einen Zeilenanfang bei Markierung und Komma ( , )
gefolgt von dot (.) and s
Befehl-Bezeichnet das Ende des Ersatzes. Karotte ( ^ )
stellt den Anfang der Zeile dar.
Methode 3:Verwenden des visuellen Editors.
Schritt 1: Bewegen Sie den Cursor auf die Zeile, ab der Sie den Text einfügen möchten.
Schritt 2: Drücken Sie Ctrl + V
um in den Visual Block
einzutreten und verwenden Sie den Cursor, um select the first column
bis zur Zeile, in der Sie das Einfügen des Textes beenden möchten.
Schritt 3: Drücken Sie Shift + i to enter into insert mode
. Geben Sie den Text ein, den Sie einfügen möchten, und drücken Sie ESC
. Sie werden sehen, dass der Text automatisch in alle in Schritt 2 ausgewählten Zeilen eingefügt wird.
Das ist es! Lieben Sie den Trick? Teilen Sie uns Ihre Kommentare mit.