我读到过 GNU Emacs 通过一个名为Mule
(多语言环境) 的系统来处理国际脚本。
我还读到(某处,不久前),(近年来)正在采取一项举措使其Unicode
符合要求,并且这项举措正在版本 23(-ish?)中实施。
我在 中输入了一些 Unicode 文本(例如 कैसे)gedit
,并成功将其复制到 Emacs 中。复制粘贴在两个方向上都有效。
然而,在 Emacs 中,使用Ctrl+Shift+U键入单个 Unicode-Codepoint 不起作用,并且 Emacs 也无法识别 IBus 输入法编辑器。
Emacs 和 Unicode 的现状如何?
... 是否可以将 IBus IME 与 Emacs 一起使用?
答案1
简短回答:总线和ibus.el
;Gnome Ctrl+Shift+U
⇒ EmacsC-x 8 RET
Emacs 对 8 位以上字符集的支持源自骡,它与 Unicode 一样古老(它源于对日语的支持),比对 Unicode 的广泛支持要早得多(就支持 Unicode 文本、字体等的程序而言)。GNU Emacs 23 提供了良好的 Unicode 支持,这是自 Ubuntu 10.04 以来的默认版本。GNU Emacs 22 提供了可接受的 Unicode 支持,这是自 Ubuntu 8.04 以来的默认版本。以前的版本做过对 Unicode 有一些支持,但更常见的是遇到错误或限制。
Emacs 不使用 Gnome,因此您无法在其中使用 Gnome 输入法。例如,Ctrl++用十六进制代码插入代码点是 Gnome 功能,因此它在 Emacs 中不起作用。原生 Emacs 等效项是+ ,由于历史原因Shift,它后面必须跟八进制代码;如果您更喜欢十六进制,UCtrlQ定制 read-quoted-char-radix
为值 16。类似的 Emacs 命令是C-x 8 RET
(ucs-insert
;如果经常使用它,您可能希望将其绑定到更短的键序列),其后可以跟十六进制代码点或unicode字符的名称,并完成。
Emacs 有其自己的一套输入法,也可以使用系统输入法,例如用户界面(安装uim-el
。总线支持相对较新;你需要ibus.el
,Lucid 中没有,我认为 Maverick 中也没有;另请参阅Emacs wiki 上的 IBus。
答案2
GNU Emacs 23.x 内置了对 UTF-8 编码文本的 Unicode 支持。它还提供了对 UTF-16 的支持。我强烈建议您安装emacs23软件包以避免 Emacs 中与 Mule 问题相关的几个错误。
并尽量避免智能输入总线问题,你可以安装安西输入系统。我发现它对日语非常有效:
sudo apt-get install anthy anthy-el
安装后,编辑 .emacsrc 以包含以下文本:
; Set load path for anthy.el
(push "/usr/share/emacs/site-lisp/anthy/" load-path)
; Load anthy.el
(load-library "leim-list")
(load-library "anthy")
;; Workarounds and customizations
; Fix slow input response in emacs23
(if (>= emacs-major-version 23)
(setq anthy-accept-timeout 1))
; Set japanese-anthy as the default input-method
(setq default-input-method "japanese-anthy")
; Shift-space to toggle anthy-mode (default is Ctrl-\)
(global-set-key (kbd "S-SPC") 'anthy-mode)
; Map wide-space to hankaku-space
(setq anthy-wide-space " ")
如果这对您不起作用,您可能发现了 Emacs 对 iBus 的支持存在错误。