mac で iTerm や emacs を自分的に快適に使う設定

※screenのための設定なども追記しています。


自分はemacsユーザ。
コントロールキーは配置的にfnキーにしたい。
メタキーは配置的にcommandキーにしたい。
(optionキーはどうも慣れなかった)
ただし普通にcommandキーを潰してしまうと、
command+tab(アプリ切り替え)
command+v(ペースト)
command+space(ひらがななどの変換)
などの基本的なショートカットまで使えなくなってしまうのでそれは避けたかった。
ネットに埋もれる先人たちの知恵を拝借した結果、
以下のように設定することにした。

KeyRemap4MacBookを使ってコントロールキーとfnキーを入れ替える

  • Change Control_L Key (Left Control)
    • Control_L to Fn にチェックを入れて有効に
  • Change Fn Key
    • Fn to Control_L にチェックを入れて有効に

iTerm のキーボード設定を追加する

ブックマーク > プロファイルの管理 > キーボード設定 から

キーの組み合わせ 動作 メモ
cmd-shift-hex code 0x25 ^[を送信 % (!) emacs Query replace
cmd-shift-hex code 0x3c ^[を送信 < (!) emacs ページ一番上への移動
cmd-shift-hex code 0x3e ^[を送信 > (!) emacs ページ一番下への移動
cmd-hex code 0x62 ^[を送信 b (!) emacs 後の単語への移動
cmd-hex code 0x64 ^[を送信 d (!) emacs 単語の削除
cmd-hex code 0x66 ^[を送信 f (!) emacs 前の単語への移動
cmd-hex code 0x67 ^[を送信 g (!) emacs Goto line
cmd-hex code 0x6c ^[を送信 l (!) emacs lowercaseへ変換
cmd-hex code 0x75 ^[を送信 u (!) emacs UPPERCASEへ変換
cmd-hex code 0x77 ^[を送信 w (!) emacs リージョンコピー
cmd-hex code 0x78 ^[を送信 x (!) emacs コマンド入力
ctrl-num-← ^[を送信 [5D (!) screen 右のスクリーンへ切り替え
ctrl-num-→ ^[を送信 [5C (!) screen 左のスクリーンへ切り替え
ctrl-shift-num-← ^[を送信 OD (!) 別のscreen 右のスクリーンへ切り替え
ctrl-shift-num-→ ^[を送信 OC (!) 別のscreen 左のスクリーンへ切り替え

commandキーをメタキーに変えてしまうのではなく
よく使う組み合わせのみ登録する方針にしました。

.screenrc

bindkey "^[[5C" next
bindkey "^[[5D" prev

別の.screenrc

bindkey "^[OC" next
bindkey "^[OD" prev

256色対応

http://d.hatena.ne.jp/milk1000cc/20090205/1233792728
をやりました。