sheet - vim up key




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

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.

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>$

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.


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.





keymapping