This does not answer your question (remapping ctrl+umlaut in .vimrc), but it might achieve what you are trying to do. You can define the keybinding not on the vim level, but on the XKB level. With Xorg XKB you can define Redirects, in this example we will remap CTRL-ö to ESC so that we can enter normal mode in vim conveniently.
Under Xorg with a german keyboard layout, try the following:
~/.xkb/keymap/vimremap
(adjust to your liking, but leave the +vim(ctrloe)
at the end of the xkb_symbols
line)
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)]
};
};
Here we are using LOCAL_EIGHT_LEVEL because this type maps Ctrl to Level5.
Now load this configuration (you can ignore the warnings about some missing symbols):
xkbcomp -I$HOME/.xkb $HOME/.xkb/keymap/vimremap $DISPLAY
Fire up xev
and check if CTRL-ö indeed results in ESC.