这并不能回答你的问题(在 .vimrc 中重新映射 ctrl+umlaut),但它可能实现你想要做的事情。你可以在 XKB 级别上定义按键绑定,而不是在 vim 级别上定义。使用 Xorg XKB,你可以定义重定向,例如将 CTRL-ö 重新映射为 ESC,以便我们可以方便地进入 vim 的 normal 模式。
在带有德语键盘布局的 Xorg 中,请尝试以下操作:
~/.xkb/keymap/vimremap(根据你的喜好进行调整,但保留 xkb_symbols 行末的 +vim(ctrloe))
xkb_keymap {
xkb_keycodes { include "evdev+aliases(qwertz)" };
xkb_types { include "complete" };
xkb_compat { include "complete" };
xkb_symbols { include "pc+de(nodeadkeys)+inet(evdev)+vim(ctrloe)" };
xkb_geometry { include "pc(pc105)" };
};
~/.xkb/symbols/vim
xkb_symbols "ctrloe" {
replace key <AC10> {
type= "LOCAL_EIGHT_LEVEL",
symbols[Group1]= [ odiaeresis, Odiaeresis, doubleacute, doubleacute],
actions = [ NoAction(), NoAction(), NoAction(), NoAction(), Redirect(key=<ESC>, clearmods=all)]
};
};
在这里,我们使用LOCAL_EIGHT_LEVEL,因为这种类型将Ctrl映射到Level5。
现在加载此配置(您可以忽略有关某些缺失符号的警告):
xkbcomp -I$HOME/.xkb $HOME/.xkb/keymap/vimremap $DISPLAY
打开 xev
并检查 CTRL-ö 是否确实会产生 ESC。
CTRL-]
的跳转链接功能呢? - jaaqc-k o:
→ ö,c-k A:
→ Ä,c-k ss
→ ß。 - Matthias Braunvimtutor
,有效文本编辑的七个习惯,现代Vim,Vim Galore。将Firefox变为Vim:vim-vixen,withExEditor。 - Matthias Braun