I would like to bind Ctrl-Shift-U in gvim so that it enters a template text that I frequently need. For example:

imap <C-S-u> foo

This does not work at all, if I do this, it changes from INSERT mode to "IM INSERT" mode which I have never seen before. So it seems C-S-u is already bound to something, but I cannot figure out how to unbind it. If I say

unmap <C-S-u>

I get E31: No such mapping.

My mapping works just fine with <C-S-l>, but I want <C-S-u> for this. How do I find out what <C-S-u> is bound to and how to unbind it so I can reuse it for my purpose?

1 Answer 1


This is because you use GTK Vim and GTK implements its own input module (see what IM INSERT means?) which enters "Unicode mode" on Ctrl+Shift+U.

You can disable the GTK input module by launching Gvim with

GTK_IM_MODULE=xim gvim

at which point your desired map will take effect.

For more details, see my answer to Disable transient symbols for compose and dead keys in GTK programs.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.