let g:DeadKeysOn=0 function! ToggleDeadKeys() if !g:DeadKeysOn call DeadKeys() else call DeadKeysOff() endif endfunction function! DeadKeys() echo "Dead Keys: On" let g:DeadKeysOn=1 " grave accents imap `a à imap `e è imap `i ì imap `o ò imap `u ù imap `A À imap `E È imap `I Ì imap `O Ò imap `U Ù imap ` ` " umlaut imap "a ä imap "e ë imap "i ï imap "o ö imap "u ü imap "A Ä imap "E Ë imap "I Ï imap "O Ö imap "U Ü imap " " " macrons imap :a ā imap :e ē imap :i ī imap :o ō imap :u ū imap :A Ā imap :E Ē imap :I Ī imap :O Ō imap :U Ū " acute accents imap 'a á imap 'A Á imap 'C Ć imap 'c ć imap 'e é imap 'E É imap 'i í imap 'I Í imap 'l ĺ imap 'L Ĺ imap 'N Ń imap 'n ń imap 'o ó imap 'R Ŕ imap 'r ŕ imap 'S Ś imap 's ś imap 'O Ó imap 'u ú imap 'U Ú imap 'y ý imap 'Y Ý imap ' ' " under dot (not required) " imap .D Ḍ " imap .d ḍ " imap .H Ḥ " imap .h ḥ " imap .L Ḹ " imap .l ḹ " imap .M Ṃ " imap .m ṃ " imap .N Ṇ " imap .n ṇ " imap .R Ṛ " imap .r ṛ " imap .G Ṝ " imap .g ṝ " imap .S Ṣ " imap .s ṣ " imap .T Ṭ " imap .t ṭ " over dot imap .u ů imap .U Ů " tilde imap ~a ã imap ~A Ã imap ~e ẽ imap ~E Ẽ imap ~i ĩ imap ~I Ĩ imap ~o õ imap ~O Õ imap ~u ũ imap ~U Ũ imap ~n ñ imap ~N Ñ " caron imap >A Ǎ imap >a ǎ imap >C Č imap >c č imap >E Ě imap >e ě imap >G Ǧ imap >g ǧ imap >I Ǐ imap >i ǐ imap >l ľ imap >L Ľ imap >n ň imap >N Ň imap >O Ǒ imap >o ǒ imap >R Ř imap >r ř imap >S Š imap >s š imap >t ť imap >T Ť imap >U Ǔ imap >u ǔ imap >V Ǚ imap >v ǚ imap >Z Ž imap >z ž imap >d ď imap >D Ď " caret imap ^o ô imap ^O Ô endfunction "deadkeys() function! DeadKeysOff() echo "Dead Keys: Off" let g:DeadKeysOn=0 " unmapping graves iunmap `a iunmap `e iunmap `i iunmap `o iunmap `u iunmap `A iunmap `E iunmap `I iunmap `O iunmap `U iunmap ` " unmapping umlauts iunmap "a iunmap "e iunmap "i iunmap "o iunmap "u iunmap "A iunmap "E iunmap "I iunmap "O iunmap "U iunmap " " unmapping macrons iunmap :a iunmap :e iunmap :i iunmap :o iunmap :u iunmap :A iunmap :E iunmap :I iunmap :O iunmap :U " unmapping acutes iunmap 'a iunmap 'A iunmap 'C iunmap 'c iunmap 'e iunmap 'E iunmap 'i iunmap 'I iunmap 'l iunmap 'L iunmap 'N iunmap 'n iunmap 'o iunmap 'R iunmap 'r iunmap 'S iunmap 's iunmap 'O iunmap 'u iunmap 'U iunmap 'y iunmap 'Y iunmap ' " under dot " iunmap .D " iunmap .d " iunmap .H " iunmap .h " iunmap .L " iunmap .l " iunmap .M " iunmap .m " iunmap .N " iunmap .n " iunmap .R " iunmap .r " iunmap .G " iunmap .g " iunmap .S " iunmap .s " iunmap .T " iunmap .t iunmap .u iunmap .U "tilde iunmap ~a iunmap ~A iunmap ~e iunmap ~E iunmap ~i iunmap ~I iunmap ~o iunmap ~O iunmap ~u iunmap ~U iunmap ~n " caron iunmap >A iunmap >a iunmap >C iunmap >c iunmap >E iunmap >e iunmap >G iunmap >g iunmap >I iunmap >i iunmap >l iunmap >L iunmap >n iunmap >N iunmap >O iunmap >o iunmap >R iunmap >r iunmap >S iunmap >s iunmap >U iunmap >u iunmap >V iunmap >v iunmap >Z iunmap >z iunmap >d iunmap >D " caret iunmap ^o iunmap ^O endfunction