Vim: Leere Zeile über der aktuellen Zeile einfügen (nicht offen, dh ohne in den Einfügemodus zu wechseln)
21
Gibt es eine Möglichkeit, eine neue Zeile über der aktuellen einzufügen, ohne die Zeile zu öffnen (also ohne in den Einfügemodus zu wechseln)? Das heißt, wie "O", aber ohne zu öffnen.
Vielleicht war ich nicht klar. Das Szenario sieht folgendermaßen aus: Ich bin im normalen Modus und möchte eine leere Zeile über der Zeile einfügen, in der ich mich gerade befinde, während ich im normalen Modus bleibe. Durch Drücken von "O" wechsle ich in den Einfügemodus. Vielleicht gibt es keine Möglichkeit und das ist in Ordnung, dachte nur, ich würde fragen :)
tmadsen
3
Karte es einfach,m`O+Esc`
Josh K
1
Gute Idee, hatte das nicht bedacht. Hat ein: noremap <Führer> O O <ESC>
tmadsen
2tmadsen: Sie können dies <yourkey> O <ESC>
nXqd
9
:h append()
Der Cursor wird nicht bewegt, Sie können beliebig viele Zeilen (leer oder nicht) einfügen und die vorherige Positionsmarke wird nicht geändert.
Antworten:
Ich benutze Tim Pope Plugin unimpared , die einen Befehl speziell für diesen Zweck hat:
[<space>
Und wenn Sie nach der Zeile, in der Sie sich befinden, ein Leerzeichen einfügen möchten:
]<space>
quelle
Die Definition Ihrer Anfrage lautet
O
.Logischerweise wäre beim Einfügen eine neue Zeile oben
O
.So fügen Sie vor dem Curser:
i
Nachher:
a
Vor der Linie (home):
I
Fügen Sie am Ende der Zeile:
A
Ich denke, Sie kommen am nächsten, wenn Sie
I
den Cursor an den Anfang der Zeile setzen.quelle
m`O+Esc`
Der Cursor wird nicht bewegt, Sie können beliebig viele Zeilen (leer oder nicht) einfügen und die vorherige Positionsmarke wird nicht geändert.
quelle
formatoptions
Sie können jede beliebige Taste oder Tastenfolge zuordnen
Dadurch wird eine leere Zeile über der aktuellen eingefügt, sodass Sie sich im normalen Modus befinden und die Cursorposition nicht verändert wird.
quelle
quelle