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. java socket 多线程通讯

    1.目录结构 2.Server.java 代码 package de.bvb.server; import java.net.ServerSocket; import java.net.Socket; ...

  2. STM32与FreeRTOS实现低功耗

    在工作过程中,遇到这样一个产品,它基于 Cortex-M7 内核的 STM32F769 芯片,同时使用了 FreeRTOS 实时操作系统. 由于该产品使用电池供电,因此有着低功耗的需求. 接下来,我将 ...

  3. JS 获取url参数

    <html> <body> 浏览器中输入 http://localhost/test/js_url.php?a1=aaa&a2=bbb&a3=ccc 会依次弹出 ...

  4. 《编写可维护的JavaScript》——JavaScript编码规范(二)

    昨天是我偶像生日,现在整个人都还好兴奋啊O(∩_∩)O~  闲话少说,让我先发篇随笔留念一下^_^ ////////////////////////////////正文分割线///////////// ...

  5. C# 获取指定目录下所有文件信息、移动目录、拷贝目录

    /// <summary> /// 返回指定目录下的所有文件信息 /// </summary> /// <param name="strDirectory&qu ...

  6. javascript高级程序设计---第二、三章

    在HTML中引用javaScript javascript的几个属性  type async(异步加载 只适用于外部JS且IE8以上 HTML5规范 先于load执行) src defer(延迟加载 ...

  7. 升级python到2.7版本pip不可用

    升级python到2.7版本pip不可用 [root@localhost pip-7.1.2]# pip Traceback (most recent call last): File "/ ...

  8. Mybatis架构学习

    Mybatis架构学习 MyBatis 是支持定制化 SQL.存储过程以及高级映射的持久层框架.MyBatis 封装了几乎所有的 JDBC 代码和手动设置参数以及获取结果集.可以对配置和原生Map使用 ...

  9. Expression2Sql的一些语法更新

    前言 前一阵子给大家介绍了一个可以将Expression表达式树解析成Transact-SQL的项目Expression2Sql. 之后得到了广大读者的一些好评,也使得博主更有动力继续更新下去,然后一 ...

  10. 把CentOS 7.x网卡名称eno16777736改为eth0

    CentOS 7.x系统中网卡命名规则被重新定义,可能会是"eno167777xx"等,下面我们把网卡名称改为eth0这种. 一.cd  /etc/sysconfig/networ ...