6

Hi is there a way to map German umlaute like "ö", "ä", "ü" to some keyboard shortcut, i.e. when I press the keyboard shortcut, it inserts the umlaut.

I am German and use an English keyboard layout, but sometimes write in German.

Thanks

1
  • I used Vim mappings for the umlauts for years because I used the US keyboard layout, too. Then, I discovered the US international keyboard layout which is by far a better option because it allows to have those umlauts available outside Vim (in the browser for example).
    – Rolf
    Dec 19, 2019 at 20:32

1 Answer 1

7

You might want to look into digraphs, which give you a built-in solution to accents and umlauts in Vim.

For umlauted "u" you can type:

Ctrl+K, :, u

Or:

Ctrl+K, u, :

See :help digraphs-use for using digraphs, or :help digraphs-default for a very comprehensive list of the digraphs defined by default that you can use. (You will find umlaut is listed as Diaeresis in that list.)

3
  • hi many thanks, any change you could add an example regarding how to map them to somethink like alt+: in insert mode?
    – clog14
    Dec 17, 2019 at 10:58
  • 1
    @clog14 You can use the normal mapping commands to do a partial remap. For instance, inoremap <M-:> <C-k>: will do what you suggest, but note that alt-: doesn't really work in most terminals, only on a GUI version of Vim, so you might not be able to use that particular mapping in your specific setup... (I'd prefer leaving that out of the answer mostly because using something like alt+: will be unreliable. Also, your question asked about "some keyboard shortcut" and Ctrl+K, : fits that role, so it's valid and complete as an answer. It also works everywhere, no need for any setup.)
    – filbranden
    Dec 17, 2019 at 22:51
  • 1
    Hi, thanks. I think you are right. I was just looking for a way to be able to type the three German Umlaute a bit faster. Your proposal, I think, is a bit slow, if you really write German. But, thanks definitely. It already is a major improvement for me.
    – clog14
    Dec 18, 2019 at 8:05

Your Answer

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

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