Angenommen, Sie diesen Text haben:Wie teilt man Text in mehrere Zeilen basierend auf einem Muster mit Vim?
name1 = "John"; age1 = 41;
name2 = "Jane"; age2 = 32;
name3 = "Mike"; age3 = 36;
...
und Sie möchten jede Zeile in zwei Zeilen aufgeteilt ein Ergebnis wie dieses zu geben:
name1 = "John";
age1 = 41;
name2 = "Jane";
age2 = 32;
name3 = "Mike";
age3 = 36;
...
Wie würden Sie diesen Vorgang automatisieren?
Einige Anmerkungen:
- Ich habe bereits versucht, die folgende Methode:
(1) Wählen Sie den Text in der virtuellen vode,
(2):'<,'>:norm ^3f r^M
Execute ***,
es aber funktioniert nicht richtig; es teilt nur die Hälfte der Zeilen auf, weil nach jeder unterbrochenen Zeile die nächste Wiederholung des Befehls auf den Rest der unterbrochenen Zeile anstatt auf die nächste Zeile angewendet wird! - Dies kann mit einem Makro erreicht werden, aber ich suche eine elegantere Lösung.
*** Erläuterung der Sequenz:
- norm
zur Ausführung der folgenden Befehle im Normal-Mode
- ^
für den Cursor an den Anfang Bewegen der Linie
- 3f<space>
fo r den Cursor auf den dritten Platz in der Linie bewegen
- r^M
für diesen Raum mit einem neuen Online-Ersatz
möglich Duplikat von [Wie ein Zeichen für eine neue Zeile in Vim ersetzen?] (Http : //stackoverflow.com/questions/71323/how-to-replace-a-character-for-a-newline-in-vim) –