由于之前对emacs的配置不太熟悉.就按照大多数人的配置,在emacs中使用ibus输入法. ibus虽然配置简单,但是使用起来始终感觉没有fcitx来大爽. 配置也不如fcitx来大灵活,(到目前为止都不知道怎么配置才可以让ibus在中文输入状态下输入英文的半角标点)很是郁闷. 下面保存一下关于在ubuntu环境下在emacs中使用fcitx的心得
首先当然是要安装fcitx了
sudo apt-get install im-switch fcitx
sudo im-switch -s fcitx -z default
运行fcitx
fcitx &
接下来要增加一条配置命令到.emacs把C-SPC组合键屏蔽掉。
(global-set-key (kbd "C-SPC") nil)
网上好多关于emacs配置fcitx的帖子都是转载的,提供了一种不方便的启动方式
自己做个shell文件放在桌面上。
#!/bin/sh
export LC_CTYPE=zh_CN.UTF-8
sudo emacs
这种方式每次运行时还要输密码,以及弹出一个确认框很麻烦
最终找到这篇帖子
http://codespider.is-programmer.com/posts/27222.html
emacs中使用fcixt需LC_CTYPE设置为zh_CN.UTF-8,比如在shell中:
1
|
LC_CTYPE=zh_CN.UTF-8 emacs |
启动emacs后就可以使用fcitx了,但是这样输入很麻烦,虽然可以在shell的配置文件中用alias设置
1
|
alias emacs= 'LC_CTYPE=zh_CN.UTF-8 emacs' |
这样在shell中启动emacs时会方便些,但是在用fbrun或是gmrun来启动emacs可就无效了。
我用openbox,所以直接给emacs设置了快捷键,但是在配置文件中使用LC_CTYPE=zh_CN.UTF-8 emacs是无法运行的,
好在有个命令env,可以用它来给emacs绑定快捷键,在rc.xml中绑定快捷键是设置为:
1
|
< execute >env LC_CTYPE=zh_CN.UTF-8 emcas</ execute > |
这样就可以通过快捷键来启动emacs,在emacs使用fcitx了。重点是env来改变运行环境,至于在openbox或是别的图形环境下估计就大同 小异了。这在linux或是freebsd中一样的,在slackware13.37和freebsd8.2中是可以的。
知道原理后,解决办法就简单了..
在ubuntu用户目录下的.profile文件中可以直接写入LC_CTYPE的配置
编辑.profile文件注释掉原来的LC_CTYPE 并添加新的保存,问题就解决了.
#export LC_CTYPE="en_US.UTF-8"
export LC_CTYPE="zh_CN.UTF-8"
现在可以在emacs中爽快的输入中文了.