2007-10-05

.emacs (2)

MacOSXでAquaSKKを使っていると困るのがEmacsのキーバインドとの衝突。^C-jで日本語入力に変わるのですが、アプリケーションにメッセージが渡る前の処理なのでEmacsでキーが捕まえられません。でも他のアプリケーションでは^C-jでの切替は便利なので変えたくありません。

そんな場合に.emacsの設で、(global-set-key key cmd)を使って実行コマンドの割り当てを変更しても良いのですが、もっと根本的で簡単な方法があります。Emacsではkeyboard-translate-tableという変数があるので、これを弄ってやりましょう。

(keyboard-translate ?\C-m ?\C-j)
(keyboard-translate ?\C-j ?\C-m)

ついでにvi(m)バインドに慣れている人はDELも^C-hに割当ててしまいましょう。

(keyboard-translate ?\C-h ?\C-?)
(keyboard-translate ?\C-? ?\C-h)

これでvi(m)とEmacsを使い分ける際の違和感が一つなくなります。

0 件のコメント: