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

使用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可能会造成更多的困扰吧。

祝大家使用愉快。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容