Мертві ключі в emacs із ibus


13

Я щойно оновив до 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

Правильна назва пакету: iso-transl(зверніть увагу на тире)
Ларс Хагсет

@LarsHaugseth добре помічений, дякую. Я відповідно відредагував питання.
Virgile

Я використовую emacs з мертвими клавішами AltGr, і він працює добре.
Чаро

Яка версія emacs у вас є?
Чаро

@Charo GNU Emacs 24.3.1 (x86_64-pc-linux-gnu, GTK + версія 3.10.7) 2014-03-07 на lamiak, модифікований Debian. У мене все ще є питання в 14.04, я
оновлю

Відповіді:


2

Ось те, що ви можете спробувати.

Відредагуйте файл ~ / .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 виберіть макет "Англійська США". Якщо ви додали у свій .emacsфайл рядки, про які я згадував вище, це змусить вашу клавіатуру поводитись як "клавіатура мертвих клавіш" в emacs. Я знаю, що це може дратувати, але це єдине рішення вашої проблеми, яке мені спадає на думку.


Я додав відповідні рядки, але це нічого не змінює. Ні `С-`. Дякуємо за пропозиції все одно.
Virgile

Спробуйте змінити рядки у файлі ~ / .dmrc, як зазначено у моїй відповіді.
Чаро

Але чи це не означає, що мовою мого сеансу буде англійська?
Virgile

@Virgile: Але давайте подивимось, чи таким чином проблема зникне. Спробувавши це, ви завжди можете повернутися до своєї французької мови, змінивши файл ~ / .dmrc знову. Я це прочитав тут .
Чаро

@Virgile: Дивіться "Оновлення" моєї відповіді.
Чаро
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.