Emacsを本格的に使用することにしたので、最近はESCキーではなく、MacのcommandキーをMetaキーをとして使用していた。
普通にCocoa版Emacsを使用してる時は次のような設定をしていれば、commandキーがMetaキーに設定される。
(setq ns-command-modifier (quote meta))
ところが、ターミナル上(iTerm2)ではcommandキーがMetaキーとして動作しない。
よく考えてみれば当然だった。
iTerm2というアプリ自体がcommandキーを使用しているのでターミナルでは認識できないのだ。
右左のOptionキーをEscキーに割り当てる
iTerm2の設定を調べてみるとProfileの各設定にあるKeys画面で右、左にあるOptionキーをEscキーと押したことにできることが分かった。
OptionキーをMetaキーに割り当てるという設定もあるが、選択するとアラートが出て+ESCという設定を勧められる。
実際に私の環境ではMetaではダメだったけれど、+ESCで思った動作が実現できた。
右commandキーを右optionキーに割り当てる
iMacでは、ここまでの設定で十分に使用できる状態になった。
しかし、残念なことに私のMacBook Proには右optionキーがない(涙)
左Optionキーだけでは左手側のキーを一緒に押下しにくい。
もう少し設定を調べてみると、iTerm2の設定でcommandキーをoptionキーにバインディングを変更できることが分かった。
設定を変更するとアラート画面が出た。
アラート画面に書いてあるようにキーバインディングを変更するためユニバーサルアクセスの「補助装置にアクセスできるようにする」にチェックを入れる必要がある。
これでMacBook Proでもターミナル上でEmacsを使用できるようになった。
余談
思っていた設定はできた。
しかし、iTerm2のタブ操作はcommandキーで行うようになっている。
私は良いタイミングでscreenを使用してみることにしたところだったので良いけれど、人によっては右commandキーがiTerm2で使用できなくなってしまうのはつらいかもしれない。
あちらを立てれば、こちらが立たず。。
ターミナル上で使用する利点もあるけど設定もなかなか大変なものだなぁと。
MacBook Proに右optionキーがあれば良かったんだけど。
次にMacBookを購入するときにはキーボードも気にするようにしよう。
※MacBook Airにも右optionキーが無いようだ(涙)