Мертвые ключи в emacs с ibus

Я только что обновился до 13.10 и заметил, что мертвые ключи больше не работают в emacs (нажатие клавиши приводит к тому, что emacs отображает <dead-acute> is undefined вместо ожидания следующей клавиши. Кроме того, использование клавиши compose приводит к до <Multi_key> is undefined, и невозможно использовать сочетания клавиш, такие как <M-^>. Насколько я могу судить, другие приложения работают нормально.

Краткий поиск в Интернете предложил (require 'iso-transl) - .emacs. Это решает первую проблему, но не другие.

Еще один возможный обходной путь, который можно увидеть в Интернете, - это запуск emacs с пустой переменной XMODIFIERS, как XMODIFIERS='' emacs, вместо XMODIFIERS= @im=ibus, который, кажется, по умолчанию в 13.10. Тогда все работает нормально, но выглядит как клудж. Есть ли способ заставить emacs работать с ibus на эту тему?

Обновление: Я наблюдаю то же самое поведение в 14.04.

Обновление: содержание .dmrc, как просили в комментариях:

[Desktop]
Session=xubuntu
Language=fr_FR
Layout=us       intl
Langlist=fr_FR:en
LCMess=fr_FR.UTF-8
13
задан 5 July 2014 в 16:10

1 ответ

Вот вещи, которые можно попробовать.

Отредактируйте файл ~/.dmrc и удостоверьтесь, что установили эти строки на нем:

Language=en_US.utf8
Langlist=en_US:en
LCMess=en_US.UTF-8

Отредактируйте файл ~/.emacs и добавьте эти строки к нему вместо (require 'iso-transl):

(prefer-coding-system 'utf-8)
(set-default-coding-systems 'utf-8)
(set-terminal-coding-system 'utf-8)
(set-keyboard-coding-system 'utf-8)
(setq default-input-method "latin-1-prefix")
(defun my-set-default-input-method ()
  (set-input-method 'latin-1-prefix))
(add-hook 'text-mode-hook 'my-set-default-input-method)

Необходимо будет добавить подобные строки к последней при использовании мертвых клавиш с другими режимами в emacs (например, latex-mode, tex-mode, html-mode...).

Выйдите из системы и затем войдите в систему снова.

Несмотря на это, если это когда-нибудь происходит с Вами, что мертвые клавиши не работают в emacs, попытайтесь ввести C-\ и посмотрите, работают ли они.

Обновление:

Если это не работает, единственная вещь, которая прибывает по моему мнению, состоит в том, что Вы определяете две раскладки клавиатуры в своих параметрах настройки системы

  • Английские американские международные мертвые клавиши (та, которую Вы имеете),
  • Английские США

и добавьте селектор раскладки клавиатуры в пути, объясненном здесь:

Как переключить комбинацию клавиатуры языка?

Когда Вы работаете с emacs, выбираете расположение "English US". Если Вы добавили к Вашему .emacs зарегистрируйте строки, которые я упомянул выше, это вынудит Вашу клавиатуру вести себя как "клавиатура мертвых клавиш" в emacs. Я знаю, что это может быть раздражающим, но это - единственное решение Вашей проблемы, которая прибывает по моему мнению.

2
ответ дан 5 July 2014 в 16:10

Другие вопросы по тегам:

Похожие вопросы: