美文网首页
IPA国际音标输入

IPA国际音标输入

作者: 破旧的大卡车 | 来源:发表于2020-05-06 17:52 被阅读0次
function! ToggleIPA()
  " This checks if 'e' is mapped in 'i'nsert mode.
  if mapcheck("e", "i") != ""
    call DisableIPA()
  else
    call EnableIPA()
  endif
endfunction
let s:asc_to_ipa_list = {
      \  'a'  : 'ʌ'  
      \, 'a:' : 'ɑ:'  
      \, '@'  : 'æ'   
      \, 'e'  : 'e'   
      \, '..' : 'ə'   
      \, 'e:' : 'ɜ:'  
      \, 'i'  : 'ɪ'   
      \, 'i:' : 'i:'  
      \, 'o'  : 'ɒ'   
      \, 'o:' : 'ɔ:'  
      \, 'u'  : 'ʊ'   
      \, 'u:' : 'u:'  
      \, 'ai' : 'aɪ'  
      \, 'au' : 'aʊ'  
      \, 'ei' : 'eɪ'  
      \, 'Ou' : 'oʊ'  
      \, 'oi' : 'ɔɪ'  
      \, 'e..': 'eə'  
      \, 'i..': 'ɪə'  
      \, 'u..': 'ʊə'  
      \, 'b'  : 'b'   
      \, 'd'  : 'd'   
      \, 'f'  : 'f'   
      \, 'g'  : 'g'   
      \, 'h'  : 'h'   
      \, 'j'  : 'j'   
      \, 'k'  : 'k'   
      \, 'l'  : 'l'   
      \, 'm'  : 'm'   
      \, 'n'  : 'n'   
      \, 'N'  : 'ŋ'   
      \, 'p'  : 'p'   
      \, 'r'  : 'r'   
      \, 's'  : 's'   
      \, 'S'  : 'ʃ'   
      \, 't'  : 't'   
      \, 'tS' : 'tʃ'  
      \, 'th' : 'θ'   
      \, 'TH' : 'ð'   
      \, 'v'  : 'v'   
      \, 'w'  : 'w'   
      \, 'z'  : 'z'   
      \, 'Z'  : 'ʒ'   
      \, 'dZ' : 'dʒ'  
      \}
function! EnableIPA()
  for [key,val] in items(s:asc_to_ipa_list)
    exec 'inoremap '.key.' '.val
  endfor
endfunction

function! DisableIPA()
  for [key,val] in items(s:asc_to_ipa_list)
    exec 'iunmap '.key
  endfor
endfunction
inoremap jj <esc>:call ToggleIPA()<cr>$a

相关文章

网友评论

      本文标题:IPA国际音标输入

      本文链接:https://www.haomeiwen.com/subject/ctzwghtx.html