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输入中文的解决办法

[3] GNU Emacs 中文處理說明(官方文档)

[4] Eim For Chinese(on www.emacswiki.org)

Emacs下的中文输入的更多相关文章

  1. sublime text3 在 14.04.1-Ubuntu 下的中文输入

    1.安装 fcitx sudo add-apt-repository ppa:fcitx-team/nightly // 添加FCITX仓库. sudo apt-get update // 更新仓库. ...

  2. 完美解决ubuntu下sublime中文输入问题

    声明 1.本人整理文章,转载请注明出处. 2.参考资料 http://my.oschina.net/tsl0922/blog/113495 问题描述 在ubuntu下想使用sublime,但是不能输入 ...

  3. CentOS 7 下Emacs无法录入中文的问题

    Emacs下的各种快捷键操作,实在是太方便了,像毒药一样让人上瘾! 问题描述: 最近重装了系统以及各种软件,但是碰到一个奇怪的问题,安装了极点五笔中文输入法,系统语言也设置为中文,结果在vim.ged ...

  4. 完美解决 Linux 下 Sublime Text 中文输入

    首先,我参考了好几篇文章,都是蛮不错的,先列出来: sublime-text-imfix:首先推荐这个方法,最简单,但是在我的系统上有些问题.可用这个的强烈推荐用这个 完美解决 Linux 下 Sub ...

  5. linux下QtCreator无法输入中文的情况

    解决linux下QtCreator无法输入中文的情况 本文由乌合之众 lym瞎编,欢迎转载 blog.cnblogs.net/oloroso 本文由乌合之众 lym瞎编,欢迎转载 my.oschina ...

  6. 开始ubuntu 14.04 的装X模式---终端模式下中文输入,听歌,上irc 开启framebuffer看电影 截图

    先上图吧 卡卡的全是在tty1 下的操作,看电影,听歌,截图 ,看图  ,上irc 等等,相当适合在小白面前装屁! 需要安装的软件: 为了能正常显示中文:安装fbterm sudo apt-get i ...

  7. intellij idea 12、13 win8 下 中文输入覆盖的问题(搜狗输入法或者其他输入法)

    最近升级到idea12,发现中文输入存在问题,输入中文的时候会出现空格,并且覆盖后面的字符,这个问题让我很郁闷. 假设idea的安装位置为:D:\Program Files\JetBrains\Int ...

  8. ubuntu下安装Sublime Text并支持中文输入

    Sublime Text还是文本编辑器中比较不错的,就是他的文件对比有些差劲吧,还有中文输入需要打补丁,不知道开发者是怎么想的... 当然,这个软件是收费的,但是不买也能一直的使用,在我天朝就这点好处 ...

  9. 解决Sublime-Text-3在ubuntu下中文输入的问题

    在ubuntu下使用ST这神器已经一段日子了,但是一直有个纠结的问题,就是中文输入非常坑爹,曾经一段时间,使用inputHelper这个插件来解决, 但是……每次都要按个快捷键,弹出一个小小小框来输入 ...

随机推荐

  1. linux工作知识点滴

    1. 要学会使用ldd *.so来查看动态库所依赖的库,以排除一些异常错误. 2. ldconfig是一个动态链接库管理命令,ldconfig命令的用途,主要是在默认搜索目录(/lib和/usr/li ...

  2. angular的路由

    AngularJS 路由允许我们通过不同的 URL 访问不同的内容. 通过 AngularJS 可以实现多视图的单页Web应用(single page web application,SPA). 下面 ...

  3. [LeetCode_5] Longest Palindromic Substring

    LeetCode: 5. Longest Palindromic Substring class Solution { public: //动态规划算法 string longestPalindrom ...

  4. Golang 效率初(粗)测

    从接触 Golang 开始,断断续续已有差不多一年左右的时间了,都是业余自己学学看看,尚主要限于语法及语言特性,还没有用它写过实际的项目. 关于 Golang 的语法及语言特性,网上有很多资源可以学习 ...

  5. selenium截图对比校验方法

    /**对比图片进行校验是否成功**/package com.allin.pc;import java.awt.image.BufferedImage;import java.awt.image.Dat ...

  6. android dialog

    /** * @Title MenuTest.java * @package com.example.standardview * @since * @version 1.0.0 * @author V ...

  7. [转]VB Winsock 控件TCP与UDP连接实例

    [-] 可能的用途 选择通讯协议 协议的设置 确定计算机的名称 TCP 连接初步 接受多个连接请求 UDP 初步 关于 Bind 方法   利用 WinSock 控件可以与远程计算机建立连接,并通过用 ...

  8. windows下的c语言和linux 下的c语言以及C标准库和系统API

    1.引出我们的问题? 标准c库都是一样的!大家想必都在windows下做过文件编程,在linux下也是一样的函数名,参数都一样.当时就有了疑问,因为我们非常清楚 其本质是不可能一样的,源于这是俩个操作 ...

  9. jquery.validate 使用--验证表单隐藏域

    jQuery validate很不错的一个jQuery表单验证插件.升级到了1.9版的后,发现隐藏表单域验证全部失效,特别是在jquery.ui.tabs.min.js构造的Tabs里的验证. 是因为 ...

  10. SqlServer 递归查询树形数据

    一直没有在意过数据库处理树形数据的重要性,直到有一天朋友问起我关于树形数据查询的问题时才发现根本不会,正好这个时候也要用到递归进行树形数据的查询于是在网上查了一圈,语法总结如下 参考文献:https: ...