Angenommen, ich hatte einen Textblock ...
Lorem ipsum
Lorem ipsum dolor
Lorem ipsum dolor sit
Lorem ipsum dolor sit amet
... und ich wollte .
am Ende jeder Zeile ein einfügen . Was wäre der beste Ansatz, um dies zu erreichen?
insert-mode
visual-block
vim.ryan
quelle
quelle
In der ersten Zeile einfach Folgendes eingeben:
4:norm A.
4
und:
erstellen Sie einen Bereich für Sie und dannnorm A.
fügt den Punkt zu jeder ZeileEine andere Lösung für längere Absätze könnte sein:
Vip<C-v>$A.<Esc>
Der erste Schritt ist die Auswahl des Absatzes, mit dem
Vip
Sie in den visuellen Blockmodus wechseln und den Cursor an das Ende jeder Zeile bewegen.$
Dann fügen Sie den.
zu jeder Zeile hinzuA.
und<Esc>
wechseln in den normalen Modus mit, um zu sehen, dass die Änderung auf jede Zeile angewendet wird .quelle
:A
Befehl? Ich fand es nicht über:h :A
4:norm A.
es sein würde4:s/$/.
Zuerst können Sie sie visuell mit auswählen
V
und dann mit den Bewegungstasten den gesamten Text auswählen (oder wenn der Text ausschließlich ein Absatz wäre, den Sie [ab der ersten Zeile] ausführen könntenV}
). Und dann tippe:
. Dies sollte so etwas wie:'<,'>
in der Kommandozeile aufrufen.Dies wird
normal A.
in den ausgewählten Zeilen ausgeführt.normal A.
FührtA.
die Tastenanschläge im normalen Modus aus. HiermitA
wird.
am Ende jeder ausgewählten Zeile ein angehalten .quelle
Wenn Sie am Ende aller Zeilen einen Punkt einfügen möchten:
oder Sie können suchen und ersetzen:
% ist die ganze Datei, $ ist das Ende der Zeile
quelle
:1,4s/$/./
das letzte Zeichen durch einen Punkt in den Zeilen eins bis einschließlich vier ersetzt.Um es etwas allgemeiner zu gestalten, können Sie ein Makro in einer einzelnen Zeile aufzeichnen und es dann in jeder Zeile in Ihrem visuell ausgewählten Bereich wiedergeben.
Zeichnen Sie ein Makro in ein Register auf (das q-Register in diesem Beispiel):
Anschließend können Sie die Linien, auf denen Sie arbeiten möchten, visuell auswählen:
Spielen Sie dann Ihr Makro in jeder Zeile ab (der Bereich wird automatisch ausgefüllt):
quelle