Я читал, что GNU Emacs обрабатывает международные сценарии через систему под названием Mule
(Многоязычная среда).
Я также читал (где-то некоторое время назад), что в последние годы был предпринят шаг (чтобы сделать его Unicode
совместимым), и что это было реализовано в версии 23 (-ish?).
Я набрал текст Unicode (например, कैसे) в gedit
и успешно скопировал его в Emacs. Копировальная паста работает в обоих направлениях.
Однако в Emacs использование Ctrl + Shift + U для ввода единой кодовой точки Unicode не работает, и редактор методов ввода IBus не распознается Emacs.
Каково состояние игры с Emacs и Unicode?
... и возможно ли использовать IBus IME с Emacs?
Короткий ответ: IBus с ibus.el
; Gnome Ctrl+Shift+U
⇒ Emacs C-x 8 RET
Поддержка Emacs more-than-8-bit наборов символов приходит от МУЛА, который почти так же стар как Unicode (это происходит из поддержки японского языка), и значительно старше, чем широко распространенная поддержка Unicode (с точки зрения программ, поддерживающих текст Unicode, шрифты, и т.д.). Хорошая поддержка Unicode шла с GNU Emacs 23, который является версией по умолчанию с Ubuntu 10.04. Приемлемая поддержка Unicode шла с GNU Emacs 22, который был версией по умолчанию с Ubuntu 8.04. Предыдущие версии действительно имели некоторую поддержку Unicode, но было более распространено столкнуться с ошибками или ограничениями.
Emacs не использует Gnome, таким образом, Вы не можете использовать методы ввода Gnome в нем. Например, Ctrl+Shift+U для вставки кодовой точки ее шестнадцатеричным кодом является функцией Gnome, таким образом, он не работает в Emacs. Эквивалентный собственный компонент Emacs является Ctrl+Q, который по историческим причинам должен сопровождаться восьмеричным кодом; если Вы предпочитаете шестнадцатеричный, настроить read-quoted-char-radix
к значению 16. Подобная команда Emacs C-x 8 RET
(ucs-insert
; при использовании его часто можно хотеть связать его с более коротким сочетанием клавиш), который может сопровождаться шестнадцатеричной кодовой точкой или названием unicode символа с завершением.
Emacs имеет свой собственный набор методов ввода и может также использовать системные методы ввода, такие как UIM (установка uim-el
. Поддержка IBus является относительно новой; Вам нужно ibus.el
, который не находится в Lucid, и я думаю не в Индивидуалисте также; см. также IBus на Wiki Emacs.
GNU Emacs 23.x имеет встроенную поддержку Unicode для текста в кодировке UTF-8. Он также обеспечивает поддержку UTF-16. Я действительно рекомендую вам установить пакет emacs23 , чтобы избежать ошибок в Emacs, связанных с проблемами Mule.
И чтобы избежать проблемы Intelligent Input Bus , вы можете установить Anthy системы ввода. Я видел, что это очень хорошо работает для японцев:
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.