fcitx与vim设置

3380阅读 0评论2013-04-24 bailiangcn
分类:LINUX

      一直以来,在vim当中输入汉字都有点小遗憾,因为平常只在vim里面写代码,所以勉强用vimim对付,但vimim有个最大的问题,有的时候如果网络不理想,会卡在那里很久,就像假死一样,而且最让人吐槽的是 vimim的文档,英文的说明比中文的好懂得多, 到现在我也没弄明白不同版本的中文说明到底哪个是最终版本。这两天使着fcitx的搜狗输入法,感觉非常棒,又动了调整vim和输入法的念头,简单搜索了一下,提到fcitx支持remote模式,能够配合自动切换输入法的状态。实现退出插入模式时,关闭fcitx;进入插入模式时,启用fcitx。

方法共有两种

 "##### auto fcitx  ###########
                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 ttimeoutlen=150
                "退出插入模式
                autocmd InsertLeave * call Fcitx2en()
                "进入插入模式
                autocmd InsertEnter * call Fcitx2zh()
                "##### auto fcitx end ###### 

注意事项

  1. 方法二可能存在性能问题,所以 里建议使用fcitx.vim插件。

  2. 我在初次使用上述两种方法的时候都没有成功,最后确认:

  • 设置(Fcitx配置>>全局配置>>程序>>在窗口间共享状态)为否

使用命令在外部设置的方法:(之所以我的机器需要这步是因为在一些java软件里输入法的状态不能自动保持)

  1. 打开配置文件 ~/.config/fcitx/config文件,首先备份一下。
  2. 找到 [Program] 段,把 ShareStateAmongWindow=PerProgram 改成 ShareStateAmongWindow=No
  3. 运行命令 fcitx-remote -t 使新配置文件生效。


上一篇:代码片段插件UltiSnips(snipmate的替代)
下一篇:修改hosts文件加速google