web-dev-qa-db-ja.com

ibusを使用したemacsのデッドキー

13.10にアップグレードしたところ、emacsでデッドキーが機能しなくなっていることに気付きました( 'へのキーストロークにより、emacsは次のキーを待つ代わりに<dead-acute> is undefinedを表示します。さらに、composeキーを使用すると<Multi_key> is undefinedで、<M-^>などのキーバインディングを使用することは不可能です。

インターネットでの簡単な検索で、(require 'iso-transl)から.emacsに提案されました。これは最初の問題を解決しますが、他の問題は解決しません。

Webで見られる別の可能な回避策は、13.10のデフォルトであると思われるXMODIFIERS='' emacsの代わりに、空のXMODIFIERS変数をXMODIFIERS= @im=ibusとしてemacsを起動することです。その後、すべてが正常に動作しますが、それはクラッジのように見えます。このテーマでibusでemacsを動作させる方法はありますか?

更新: 14.04でも同じ動作が見られます。

更新:コメントで要求された.dmrcの内容:

[Desktop]
Session=xubuntu
Language=fr_FR
Layout=us       intl
Langlist=fr_FR:en
LCMess=fr_FR.UTF-8
13
Virgile

ここにあなたが試すことができるものがあります。

ファイル〜/ .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-modetex-modehtml-mode...)でデッドキーを使用する場合、最後の行に同様の行を追加する必要があります。

ログアウトしてから再度ログインします。

それでも、デッドキーがemacs内で機能しないことが発生した場合は、C-\と入力して、機能するかどうかを確認してください。

更新:

それが機能しない場合、私の頭に浮かぶ唯一のことは、システム設定で2つのキーボードレイアウトを定義することです

  • 英語の米​​国国際デッドキー(所有しているキー)
  • 英語アメリカ

ここで説明する方法でキーボードレイアウトセレクターを追加します。

言語キーボードの組み合わせを切り替える方法?

Emacsを使用するときは、「English US」レイアウトを選択します。上記の行を.emacsファイルに追加した場合、これにより、キーボードがemacs内で「デッドキーキーボード」として動作するようになります。これは迷惑なことですが、私の頭に浮かぶのはあなたの問題に対する唯一の解決策です。

2
Charo