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
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を利用しつつ希望の動作になるかもしれません。
たぶん入れたemacsが日本語仕様ではないのではないですか?そういうのは基本でできていると思います。
日本語入力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になりませんでした)
よろしくお願いいたします。