2016/02/26

iTerm2内のEmacsでmewを使う

まとめはこっち↓

Macのターミナルソフトとしては,iTerm2 がお気に入りです.作業は基本的に screen で管理しているので,iTerm2 の中でEmacsも起動しています.そんな環境で Mew を使おうとすると,メタキーが非常に困ったことになってました.要するに,M-d を入力しようと思えば,ちゃんと [ESC] キーを押して,,,とやる必要がありました.pureなLinuxを触ってた時は, Alt キーが M- の役割をしてくれていたので不便はありませんでした.

(使いたいのは, Mew でメールをゴミ箱に入れずに消去する M-d です.何故かと言うと,Gmail の IMAP を使っている場合,受信トレイ(inbox)からの削除がアーカイブを意味するので...)

どこの誰のキーを変更するのが良いか悩んでいたのですが,やっと iTerm2 でコマンドキーをいじればよさ気なことに気づいて,設定したところ,うまくいきました!

iTerm2 の環境設定を出します(コマンドキー + , ).
Keys タブを出すと,右側に "Key Mappings" というリストがあり, + で追加できます.
Keyboard Shortcut: にコマンド+d を入力して,Action: で "Send Escape Sequence" を選択して, ESC+ に d を入力します.
これで iTerm2 のコマンド+d が Emacsに M-d で渡されます.

果たして副作用は何かないか....

M-x も mew を起動する時に必要なのを忘れてました(起動した状態でこの設定をやってたので).今のところ,⌘-d と ⌘-x を設定しました.

(2016.3.1追記)
その後,徐々に M- を頑張って [ESC] 押していたことが判明して,
<, >, d, u, w, x が追加されました.結果,⌘+w で「タブを閉じる」が無効になりましたが,iTerm の場合は中のシェルを exit すればタブが消えるので実害は少ないから気にしないことにします.むしろ,M-w (コピー)をしたくて ⌘+w してタブが消えていた実害が無くなった方が有効ですね.

(2016.3.2追記)
ページスクロールの M-v を ⌘+v で割り当ててしまいました...これはペーストだから無茶ですね.やめました.

(2016.3.3追記)
spell checkをemacsの中で呼び出しやすくするために ⌘+$ を割り当てようとしたら,スクリーンショットのショートカットにキーを奪われてしまって,そもそも設定画面に入力することすら出来ませんでした.⌘+$ は使ってるので諦めるか・・・

(2016.3.10追記)
⌘+%は置換(query-replace)で使えますね.徐々に増えてきた.でも,増える度に端末3つ全部にちゃんと設定しないと手が崩壊する(^^ゞ