【Emacs 日本語入力の自動OFF】

Emacsで日本語入力中、
C-x o
とキー入力すると、
C-x お
となってしまいます。

C-x, C-c, A-x 等の時に自動で日本語入力オフにするにはどうすれば良いのでしょうか?

Windows の Meadow では自動的にOff/Onにしてくれるので悩まされずにすみます。

Emacs 23.0.91.1
SCIM-Anthy
Ubuntu 9.04

回答の条件
  • 1人2回まで
  • 登録:2009/08/31 10:18:12
  • 終了:2009/09/03 11:53:54

ベストアンサー

id:i_kumagoro No.2

i_kumagoro回答回数170ベストアンサー獲得回数582009/09/03 01:06:46

ポイント190pt

Emacsには多言語の入力を行なうインターフェイスとしてinput methodが用意されています。この枠組みに従った入力方法を利用すれば希望の動作になるかと思います。ちなみにMeadowでは、独自にMW32-IMEというWindowsのIMEを利用するinput methodが用意されています。

例えば (SCIMを経由せずに) anthyを利用するinput methodとして、anthy.elがanthyのソースには付属しています。Ubuntuでもanthy-elパッケージが用意されているようです。~/.emacsへは以下の追記が必要です。

(load-library "anthy")
(setq default-input-method "japanese-anthy")
(if (>= emacs-major-version 23)
  (setq anthy-accept-timeout 1))

デフォルトでは C-\ で on/off を切り替えます。コマンド名の通り toggle なので on の時に C-\ で off になります。

また、使用経験がないので詳細は分かりませんが、scim-bridge.elを使うとSCIM経由でanthyを利用しつつ希望の動作になるかもしれません。

id:givemesolut

anthy-el なら C-x 等で自動的に日本語入力Offになりました。

ありがとうございます!

また別の不満点が発生しましたが、

input methodの解説をしていただきましたおかげで、問題への理解がたいへん進みました。

まことにありがとうございました。

2009/09/03 11:51:12

その他の回答(1件)

id:hong7 No.1

hong7回答回数157ベストアンサー獲得回数52009/09/02 00:07:22

ポイント10pt

たぶん入れたemacsが日本語仕様ではないのではないですか?そういうのは基本でできていると思います。

id:givemesolut

そうなのですか! ありがとうございます。

起動画面で

Emacs Tutorial Learn basic keystroke commands (Emacs 入門ガイド)

...

This is GNU Emacs 23.0.91.1 (x86_64-pc-linux-gnu, GTK+ Version 2.16.0)

of 2009-04-05 on crested, modified by Debian

と出るので日本語仕様のような気もするのですが、Emacs23の問題なのでしょうか...

This is GNU Emacs 23.0.91.1 (i486-pc-linux-gnu, GTK+ Version 2.16.0)

でも同様です。

2009/09/02 10:57:12
id:i_kumagoro No.2

i_kumagoro回答回数170ベストアンサー獲得回数582009/09/03 01:06:46ここでベストアンサー

ポイント190pt

Emacsには多言語の入力を行なうインターフェイスとしてinput methodが用意されています。この枠組みに従った入力方法を利用すれば希望の動作になるかと思います。ちなみにMeadowでは、独自にMW32-IMEというWindowsのIMEを利用するinput methodが用意されています。

例えば (SCIMを経由せずに) anthyを利用するinput methodとして、anthy.elがanthyのソースには付属しています。Ubuntuでもanthy-elパッケージが用意されているようです。~/.emacsへは以下の追記が必要です。

(load-library "anthy")
(setq default-input-method "japanese-anthy")
(if (>= emacs-major-version 23)
  (setq anthy-accept-timeout 1))

デフォルトでは C-\ で on/off を切り替えます。コマンド名の通り toggle なので on の時に C-\ で off になります。

また、使用経験がないので詳細は分かりませんが、scim-bridge.elを使うとSCIM経由でanthyを利用しつつ希望の動作になるかもしれません。

id:givemesolut

anthy-el なら C-x 等で自動的に日本語入力Offになりました。

ありがとうございます!

また別の不満点が発生しましたが、

input methodの解説をしていただきましたおかげで、問題への理解がたいへん進みました。

まことにありがとうございました。

2009/09/03 11:51:12
  • id:i_kumagoro
    現在、Emacs上での日本語入力のon/offはどのようにして行なっているのでしょうか?
  • id:givemesolut
    コメントありがとうございます!

    日本語入力on/offは
    Esc で「英数モード」(日本語入力Off状態)
    Shift + Space (または半角/全角)で「ひらがなモード」(日本語入力On状態)

    SCIM設定:
    - SCIM開始 Alt-Zenkaku_Hankaku
    - SCIM終了 なし
    - 「全アプリで同一入力メソッドを使用」しています。

    英数モード時のEmacsは正しく
    C-x o
    M-x query-...
    等できます。

    ひらがなモード時はミニバッファで
    C-x お
    M-x qうえry-
    となってしまいます。


    確認したところ、Emacsでは C-backslash で別の日本語入力がOnになりました。
    Describe key: C-\
    C-\ runs the command toggle-input-method, which is an interactive
    compiled Lisp function in `mule-cmds.el'.
    (別の日本語入力のようなので、Esc(SCIM-Anthyの英数モード化キー)ではoffになりませんでした)

    よろしくお願いいたします。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません