Gibt es eine Möglichkeit, Listen vertikal zusammenzuführen?Vertikale Listen in Vim zusammenfügen
Zum Beispiel, wenn ich diese beiden Listen haben haben:
A E
B F
C G
D H
Ich möchte mit der folgenden, am Ende:
A
E
B
F
C
G
D
H
Gibt es eine Möglichkeit, Listen vertikal zusammenzuführen?Vertikale Listen in Vim zusammenfügen
Zum Beispiel, wenn ich diese beiden Listen haben haben:
A E
B F
C G
D H
Ich möchte mit der folgenden, am Ende:
A
E
B
F
C
G
D
H
Das ist einfach, legen Sie einfach den Cursor auf die Spalte zwischen den Listen. Fügen Sie Visual-Block-Modus <C-v>
, markieren Sie die ganze Spalte, drücken Sie r
, um es zu ersetzen, und dann <CR>
und Sie haben, was Sie wollen.
Sie könnten es auch mit einem externen Filter tun. Markieren Sie die relevanten Linien im visuellen Modus und drücken Sie !. Der folgende Filter tut, was Sie auf einem POSIX-System wollen:
paste -sd' ' | tr ' ' '\n'
:%s/\v^(\w) /\1\r/g
: ........... command
% ........... whole file
\v .......... very magic (avoid backslashes)
(\w) ........ word character
\1 .......... all patter in parenthesis
\r .......... Carriage Return "Enter"
g ........... globally