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


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=ibus13.10のデフォルトであるように思われました。その後、すべてが正常に動作しますが、それはクラッジのように見えます。このテーマでibusでemacsを動作させる方法はありますか?

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

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

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

パッケージの正しい名前はiso-transl(ダッシュに注意してください)
ラースハウゲス

@LarsHaugsethはよく見つけました、ありがとう。それに応じて質問を編集しました。
ヴィルジール

AltGr Deadキーでemacsを使用しますが、正常に動作します。
チャロ

emacsのバージョンはありますか?
チャロ14

@Charo GNU Emacs 24.3.1(x86_64-pc-linux-gnu、GTK +バージョン3.10.7)、lamiakで2014-03-07、Debianにより変更。14.04でもまだこの問題があります。それに応じて質問を更新します
ヴィルジェール14

回答:


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では他のモードと死者のキーを使用している場合、最後の1のような行を追加する必要があります(例えば、latex-modetex-modehtml-mode...)。

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

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

更新:

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

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

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

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

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


問題の行を追加しましたが、これにより何も変わりません。`C-`も同様です。とにかく提案をありがとう。
ヴィルジル2014

私の答えに示されているように、〜/ .dmrcファイルのいくつかの行を変更してみてください。
チャロ14

しかし、これは私のセッションの言語が英語になるという意味ではありませんか?
ヴィルジール14

@Virgile:しかし、そのようにして問題が消えるかどうかを見てみましょう。それを試した後、〜/ .dmrcファイルを再度変更することで、いつでもフランス語ロケールに戻ることができます。ここで読んだ
チャロ14

@Virgile:私の答えの「更新」を参照してください。
チャロ14
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.