
Nehmen wir an, Sie haben den folgenden Datensatz mit zwei Zeilen
a
b
Und Sie möchten eine weitere Spalte einfügen,
c
d
Wie fügen Sie diesen Datensatz ein, um Folgendes zu erstellen?
a c
b d
Oder fügen Sie sie nacheinander ein (wie unten) und fügen Sie sie zusammen, um das obige zu erhalten
a
b
c
d
Diese Frage ergibt sich aus der Kopie einer PDF-Datei, die als zwei Spalten angezeigt wird, aber als eine Spalte kopiert wird (die rechte Spalte wird lediglich an die linke Spalte angehängt).
Antwort1
Vim hat einen Spaltenbearbeitungsmodus. Dies wurde auf Stack Overflow beantwortet:https://stackoverflow.com/questions/6971903/how-to-do-column-editing-in-vim
Von einemBlogeintragsind die Schritte im Allgemeinen:
- Strg + V, um in den Spaltenmodus zu wechseln
- Wählen Sie die Spalten und Zeilen aus, in die Sie Ihren Text eingeben möchten
- Umschalt + i, um im Spaltenmodus in den Einfügemodus zu wechseln
- Geben Sie den gewünschten Text ein. Lassen Sie sich nicht davon entmutigen, dass nur die erste Zeile geändert wird.
- Esc, um Ihre Änderung anzuwenden (oder alternativ Strg+C)
Wie angegebenin der Dokumentation, wenn Sie unter Windows arbeiten oder Strg-V einer anderen Taste zugeordnet haben, können Sie möglicherweiseStrg-Qstattdessen
Antwort2
Dieser erste Schritt ist nicht immer notwendig, aber da Sie Leerzeichen zwischen den Spalten einfügen möchten und im Text keine entsprechenden Leerzeichen vorhanden sind, setzen Sie „virtualedit“ auf „all“:
:set ve=all
Bewegen Sie anschließend den Cursor in die obere linke Spalte des Textes, den Sie verschieben möchten, und geben Sie
Ctrl-V$
wobei Strg-V bedeutet CtrlV, bewegen Sie den Cursor dann nach unten zur letzten Zeile des zu kopierenden Textes und geben Sie ein, y
um ihn herauszuziehen oder d
zu löschen.
Bewegen Sie nun den Cursor (in Ihrem Fall) nach rechts daneben a
und geben Sie ein p
.