Ich arbeite viel mit dem visuellen Blockmodus, der für schnelle Änderungen über viele Zeilen hinweg sehr nützlich ist.
Ich habe jedoch Schwierigkeiten, eine neue Zeile wie folgt einzufügen:
Die Auswahl wird wie folgt notiert []
:
Some [t]ext
Some [t]ext
Some [t]ext
Some [t]ext
Some [t]ext
Ich drücke I
und kann Text hinzufügen, der vor dem eingefügt werden soll t
:
Some other text
Some [t]ext
Some [t]ext
Some [t]ext
Some [t]ext
Wenn ich drücke, <Esc>
erhalte ich Folgendes:
Some other text
Some other text
Some other text
Some other text
Some other text
Wenn ich jetzt <CR>
anstelle des Textes drücke, den ich hinzufügen möchte, wird die neue Zeile wie gewünscht eingefügt, jedoch nicht für die anderen Zeilen. Das Ergebnis ist folgendes:
Some
text
Some text
Some text
Some text
Some text
Wissen Sie, warum das nicht funktioniert?
Hinweis: Da es funktioniert c
und r
ich nicht sicher bin, warum dies nicht funktioniert ...
insert-mode
visual-block
nobe4
quelle
quelle
Antworten:
Der visuelle Block
I
funktioniert so nicht. Das Beste, was Sie wahrscheinlich tun können, ist Folgendes.Markieren Sie eine Spalte im visuellen Blockmodus (mit
[b]
einem hervorgehobenen Zeichen wie in Ihrer Frage):Führen Sie eine Ersetzung im visuellen Bereich durch
\%V
:Vim fügt das
'<,'>
für Sie ein, wenn Sie drücken:
, sodass Sie dieses Bit nicht eingeben müssen.Und das Ergebnis:
Wenn Sie bei einem visuellen Block häufig Linien teilen müssen, ist dies wahrscheinlich in Ihrem Verlauf leicht verfügbar, und Sie müssen möglicherweise nur noch hervorheben
:<up><return>
.quelle
\%V
auch wenn es nicht das ist, was ich wollte, werde ich dies akzeptieren (aber was ich will, scheint sowieso unmöglich ^^)