Wie kann man ALT-return in .vimrc zuordnen?

594
browning0

Ich versuche in meinem .vimrc eine Kombination aus linkem Alt- und Return-Schlüssel abzubilden, jedoch ohne Erfolg.

Ich habe all diese Zuordnungen zu meiner .vimrc-Datei hinzugefügt, jedoch ohne Auswirkung:

map <M-esc> itest0<return><esc> map <M-cr> itest1<return><esc> map <M-return> itest2<return><esc> map <M-enter> itest3<return><esc> map <M-[> itest4<return><esc> map ^[ itest5<return><esc> 

Einige Infos:

Nach dem Drücken von Ctrl+ vund dann Alt+ return:

  • in meinem terminal bekomme ich ^[
  • in vim (und gvim) im einfügemodus bekomme ich ^[
  • Nach dem Anruf sed -n lbekomme ich:
^[ \033$ 

Ich benutze Terminator unter Arch Linux. Das beschriebene Verhalten ist gleich, egal ob ich vim oder gvim verwende. Was soll ich tun?

1

1 Antwort auf die Frage

3
Ingo Karkat

Aufgrund der Art und Weise, wie die Tastatureingaben intern gehandhabt werden, ist dies heute selbst in GVIM leider generell nicht möglich. Einige Tastenkombinationen wie Ctrl+ (nicht alphabetisch) können nicht zugeordnet werden. Ctrl+ (Buchstaben) vs. Ctrl+ ( Shift+) Buchstaben können nicht unterschieden werden. (Wenn 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>/ <C-I>, <CR>/ <C-M>/ <Esc>/ <C-[>usw. (Nur Ausnahme ist <BS>/ <C-H>.) Gleiches gilt fürAltund nicht alphabetische Tasten. Dies ist ein bekannter Schmerzpunkt und Gegenstand verschiedener Diskussionen zu vim_dev und dem #vim-IRC-Kanal.

Einige Leute (vor allem Paul LeoNerd Evans) wollen das beheben (sogar für die Konsole Vim in Terminals, die dies unterstützen) und haben verschiedene Vorschläge gemacht, vgl. http://groups.google.com/group/vim_dev/browse_thread/thread/626e83fa4588b32a/bfbcb22f37a8a1f8

Bis heute sind noch keine Patches oder Freiwilligen erschienen, obwohl viele den Wunsch geäußert haben, dies in einer zukünftigen Vim-Veröffentlichung zu haben.