美文网首页Vim
vim技巧:普通模式和插入模式互换时自动调整输入法的中英文状态

vim技巧:普通模式和插入模式互换时自动调整输入法的中英文状态

作者: 穆弋 | 来源:发表于2016-05-23 16:50 被阅读870次

    使用vim进行中文写作时最大的麻烦就是中文输入法的问题:

    插入模式调整出来中文输入法了,按了esc进入普通模式,按i之类的想进入插入模式,发现还是中文输入法,次数多了实在是闹心。

    我使用的是Ubuntu操作系统,使用的输入法是基于fcitx的搜狗输入法。

    编辑.vimrc文件,在文件末尾添加以下代码:

    let g:input_toggle = 1
    function! Fcitx2en()
       let s:input_status = system("fcitx-remote")
       if s:input_status == 2
          let g:input_toggle = 1
          let l:a = system("fcitx-remote -c")
       endif
    endfunction
    
    function! Fcitx2zh()
       let s:input_status = system("fcitx-remote")
       if s:input_status != 2 && g:input_toggle == 1
          let l:a = system("fcitx-remote -o")
          let g:input_toggle = 0
       endif
    endfunction
    
    set timeoutlen=150
    autocmd InsertLeave * call Fcitx2en()
    "autocmd InsertEnter * call Fcitx2zh()
    

    以上代码就可以让vim在从插入模式进入普通模式时变成英文输入法,
    如果删除最后一行的注释符号,还可以实现在从普通模式进入插入模式时自动进入中文输入法,不过进入中文输入法对大多数Linuxer可能会造成更多的困扰吧。

    祝大家使用愉快。

    相关文章

      网友评论

      • atok:不仅没有作用,而且切换到普通模式也会变成中文/吐血

      本文标题:vim技巧:普通模式和插入模式互换时自动调整输入法的中英文状态

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