Emacs 内置中文输入法pyim

Emacs加win8加中文输入就是灾难, 第一个搜狗输入法, 因为经常死机已经被我给删掉了, 然后是bing输入法, 果然是自家的产品, 通常情况下表现很好, 但是偶尔也会出现失效的情况, 这个时候真是要命, 重点是这个时候不能输入中文, 而且必须重启系统才能恢复正常, 但是我不想重启. 而且我是打死不用微软拼音的.

然后又尝试了谷歌拼音输入法, 结果十分钟阵亡, 而百度, 我连尝试的念头都没有了.

据我观察, Emacs跟任何一款WIN8输入法都无法长期和平相处. 具体症状: Emacs锁死, 半天不能动, 要么就是不能输入中文, 按SHIFT切换语言完全不管用, 再就是能输入中文但是只能盲打, 候选词UI出不来.

经过一番搜索, 找到一款救急用的Emacs内置输入法: Chinese-pyim. 下面是快速上手指南.

安装

不要直接再mini-buffer里面安装, 用

 
M-x package-list-packages
 

然后搜索chinese-pyim, 然后安装.

启用

加入如下代码到Emacs配置文件当中

 
(setq my-input-methods  
      '("japanese"  
        "japanese-katakana"
        "chinese-pyim"
        "chinese-py-punct-b5")  
      my-current-input-methods my-input-methods)  
 
(defun my-cycle-input-method ()  
  "Cycle `my-input-method-alist'."  
  (interactive)  
  (if (null (cdr my-current-input-methods))  
      (setq my-current-input-methods my-input-methods)  
    (setq my-current-input-methods (cdr my-current-input-methods)))  
  (set-input-method (car my-current-input-methods)))  
 
(global-set-key (kbd "C-\\") 'toggle-input-method)  
(global-set-key (kbd "M-C-\\") 'my-cycle-input-method)  
 

ctrl-\ 调出内置输入法, 然后用ctrl-alt-\在输入法之间切换.

输入法装好了, 但是基本上是不能用的, 因为这个时候还没有词库, 你只能一个字一个字的输入, 例如要输入"不知道", 你要一个字一个字的输入, 而不是简单的输入"buzhidao"然后按空格.

下载词库 "http://tumashu.github.io/chinese-pyim-bigdict/pyim-bigdict.pyim", 然后按照提示安装词库.

M-x pyim-dicts-manager

然后重启输入法M-x pyim-restart

现在基本上可以用了. 初步使用的感觉, 没有搜狗流畅, 但是已经有80%的感觉, 唯一的不足就是UI比较简单, 和词库还不是太够, 输入长句的功能也有所不足, 但是完全可以满足日常使用, 最关键的是, 能在Emacs里完美的工作, 不用担心突然用不了.

我习惯中文使用英文标点, 执行 M-x pyim-toggle-full-width-punctuation.