voidrice/.vim/luke/deadkeys.vim

261 lines
3 KiB
VimL
Raw Normal View History

2018-05-20 17:06:39 +00:00
" Installation
" Source the file wherever you put it:
" so ~/.vim/luke/deadkeys.vim
" Map ToggleDeadKeys to whatever you want:
" nm <F7> :call ToggleDeadKeys()<CR>
2018-01-22 02:44:23 +00:00
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 `<space> `
" umlaut
imap "a ä
imap "e ë
imap "i ï
imap "o ö
imap "u ü
imap "A Ä
imap "E Ë
imap "I Ï
imap "O Ö
imap "U Ü
imap "<space> "
" 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 'N Ń
imap 'n ń
imap 'o ó
imap 'R Ŕ
imap 'r ŕ
imap 'S Ś
imap 's ś
imap 'O Ó
imap 'u ú
imap 'U Ú
imap '<space> '
2018-05-20 17:06:39 +00:00
" under dot
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
" 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 >O Ǒ
imap >o ǒ
imap >R Ř
imap >r ř
imap >S
imap >s
imap >U Ǔ
imap >u ǔ
imap >V Ǚ
imap >v ǚ
imap >Z Ž
imap >z ž
2018-01-22 02:44:23 +00:00
endfunction "deadkeys()
2018-05-20 17:06:39 +00:00
2018-01-22 02:44:23 +00:00
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 `<space>
" unmapping umlauts
iunmap "a
iunmap "e
iunmap "i
iunmap "o
iunmap "u
iunmap "A
iunmap "E
iunmap "I
iunmap "O
iunmap "U
iunmap "<space>
" 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 'N
iunmap 'n
iunmap 'o
iunmap 'R
iunmap 'r
iunmap 'S
iunmap 's
iunmap 'O
iunmap 'u
iunmap 'U
iunmap '<space>
2018-05-20 17:06:39 +00:00
" 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
"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 >O
iunmap >o
iunmap >R
iunmap >r
iunmap >S
iunmap >s
iunmap >U
iunmap >u
iunmap >V
iunmap >v
iunmap >Z
iunmap >z
2018-01-22 02:44:23 +00:00
endfunction