Emacs如此優秀的編輯器,如果輸入中文不順暢,不免遺憾。可惜現實是折騰很久也未必用得稱心如意,作為一個重度(也許是中毒) Emacs使用者,根據個人經驗寫下此文,希望對同道中人有所幫助。
在Windows下,我們可以使用Windows下的任何輸入法; 但在Linux下卻不行,如需使用ibus或者scim輸入中文,要額外配置。最簡單的方法一,配置LC_CTYPE(語言符號及其分類)為“zh_CN.UTF-8”,但這會影響整個系統的語言設置[1],很多人不喜歡,我也是。方法二,使用橋接方式,比如ibus-el,我用過一段時間,基本滿足需求,但小問題不斷。比如使用xmonad桌面管理器時時經常出錯,配置同步到其它電腦又不行了,而且不能在命令行下面使用。除此之外ibus下面的輸入法也挺渣的,好多成語無法連打[2]。
其實Emacs自帶很多中文輸入法。用M+x set-input-method可以選擇各種輸入法。如果能用Emacs自帶的輸入系統,那不管是在CLI下還是GUI下面,體驗都是一致的,甚至不同的OS平台(Linux,Windows,Mac)也一致,大大簡化了學習成本,切換系統時也不需要想着如何使用不同的輸入法,也可以使用git或者dropbox輕松同步配置到任何其它系統。生活美好很多,有沒有?可惜的是,這些輸入法大多活在上個世紀,不實用。比如輸入法Chinese-ccdospy初始狀態居然不按常用詞頻來排序,“我”居然排在第七個,前面是“撾,蝸,渦......”,令人十分崩潰。
當我左右為難時,突然發現一個不錯的Emacs集成輸入法eim,中國人開發,十分好用,支持五筆和拼音。詞庫很全,詞頻也完全沒問題,支持詞組,自定義很方便。有種雪中被送炭的感覺。向各位掙扎於Emacs中文輸入的同學大力推薦, 更要感謝作者的辛勤勞動。安裝和配置請參考github主頁:https://github.com/wenbinye/emacs-eim 。 截圖如下,如果將來它能加入GNU Emacs 的Code Base,那就完美了。
另外作者把默認的設置把Tooltip功能關閉了,因為在沒有GTK時有點問題,比如Windows和Mac下,但如果你只是在Linux下使用,可以開啟,效果如下,還是挺漂亮的。注釋或刪除(setq eim-use-tooltip nil)這行即可。
美中不足:
- 不支持使用“.”前向遍歷單個候選詞, 使用","后向遍歷單個候選詞,只能翻頁。但這點Chinese-ccdospy做到了,用起來非常爽,飛一般的感覺。准備擇日向作者提提。如果他沒有時間或者不喜歡,那只能我自己hack了。
- 另外eim每頁顯示7個詞,雖比大部分古董輸入法的每頁10個詞好很多,但我覺得還是略多,不超過6個為好。
- 成語的支持還不夠好。
REFERENCES:
[1] 英文中文,Ubuntu下設定Emacs輸入法的曲折經歷
[2] emacs輸入中文的解決辦法