众所周知,在vim下进行中文编辑时各种不便,主要是在normal模式与instert模式进行切换时,需要同步切换输入法。之前尝试过vimim,个人感觉其可用性还有差距,不知道是不是我没折腾好。最近发现fcitx提供了fcitx-remote,可以完美配合vim使用。
以下均假设读者已经安装好fcitx4,且fcitx已经随X启动而启动
1)首先在终端运行fcitx-remote,如果成功返回0~2中的一个数字,则直接将附件中的fcitx.vim丢到~/.vim/plugin中即可;
2)出现/tmp/fcitx-socket-:0.0: No such file or directory这样的错误,我最初遇到的就是这样。查看/tmp下的文件列表,发现存在/tmp/fcitx-socket-:0,google之后得知原因如下:
fcitx-remote对fcitx的控制通过/tmp下的套接字文件实现,我的fcitx是随gnome一起启动的,使用fcitx-socket-:0,而在终端中使用fcitx-remote时,其使用fcitx-socket-:0.0,所以会出现上述问题。如果在终端启动fcitx,而不是使其随gnome一起启动就不存在上述问题。
我最终不那么优雅的解决了这个问题:直接修改fcitx-remote.c文件,强行使其读取/tmp/fcitx-socket-:0,并将编译所得放到~/bin,在fcitx.vim中调用自己修改过的fcitx-remote,最终搞定此问题。
此解决方法有一个缺陷,就是如果用户在进入gnome后,如果需要重启fcitx,则fcitx.vim就会失效。但从我目前的使用情况来看,fcitx还比较稳定,尚未出现crash之后需要重新启动的情况。
7月25日,附件传上来了
fcitx4vimModifiedByCompass.rar
阅读(5720) | 评论(0) | 转发(0) |