sheet Fügen Sie eine Zeilenvorschubzeile ein, ohne in den Einfügemodus zu wechseln, vim




vim up key (5)

Das ist was ich benutze:

nmap <CR> :a<CR><CR>.<CR>

Ich habe nmap <CR> o<Esc> ausprobiert, aber die UI störte, als sie zum Einfügemodus und zurück wechselte.

Ich möchte Zeilenumbrüche im Normalmodus in vim einfügen, indem Sie die Tastenkombination Umschalt-Eingabe und Strg-Eingabe verwenden . Ich versuche einige Lösungen und Mischlösungen von Vim Wikia - Einfügen von Zeilenumbrüchen, ohne den Einfügemodus zu aktivieren , Shift-Enter und Ctrl-Enter reagierten jedoch nicht:

" put a new line before or after to this line
nnoremap <S-CR> m`o<Esc>``
nnoremap <C-CR> m`O<Esc>``

" reverse J command
nnoremap <C-J> vaW<Esc>Bi<CR><Esc>k:s/\s\+$//<CR>$

Aufgrund der Art, wie die Tastatureingaben intern gehandhabt werden, ist dies heutzutage leider generell nicht möglich. (Dieser spezielle Fall sollte jedoch in GVIM funktionieren.) Einige Tastenkombinationen, z. B. Strg +, nicht alphabetisch, können nicht zugeordnet werden, und Strg + Buchstabe und Strg + Umschalt + Buchstabe können nicht unterschieden werden. (Sofern Ihr Terminal keinen eindeutigen Termcap- Code sendet, was die meisten nicht tun.) Geben Sie im Einfüge- oder Befehlszeilenmodus die Tastenkombination ein. Wenn nichts passiert / ist, können Sie diese Tastenkombination nicht verwenden. Dies gilt auch für <Tab> / <CI> , <CR> / <CM> / <Esc> / <C-[> usw. (Einzige Ausnahme ist <BS> / <CH> .) Dies ist ein bekannter Schmerzpunkt und das Thema verschiedener Diskussionen über vim_dev und den #vim-IRC-Kanal.

Einige Leute (vor allem Paul LeoNerd Evans) möchten das Problem beheben (selbst für Konsole Vim in Terminals, die dies unterstützen), und haben verschiedene Vorschläge gemacht .

Bis heute haben sich noch keine Patches oder Freiwilligen gemeldet, obwohl viele den Wunsch geäußert haben, dies in einer zukünftigen Veröffentlichung von Vim 8 zu veröffentlichen.


Meine Alternative ist die Verwendung von oo (bzw. OO ), um eine neue Zeile unter (bzw. über) dem Strom durch dieses Mapping einzufügen: nmap oo o<Esc>k (bzw. nmap OO O<Esc>j )


Rucken Sie eine leere Zeile und verschieben Sie sie:

Beginnend mit dem Cursor in der leeren Zeile:

yy + (shift + p)

"yy" füllt die Zeile und "shift + p" fügt sie unten ein, ohne den Einfügemodus zu aktivieren.


Sie können dazu einen Hack verwenden.

Im Bearbeitungsmodus können Sie die aktuelle Zwischenablage mit p einfügen. Da o eine neue Zeile hinzufügt, können Sie mit o<ESC>ddp eine neue Zeile unter dem Cursor hinzufügen. Von da aus fügt p eine neue Zeile hinzu, bis Sie etwas anderes löschen.







keymapping