iTerm2, iTerm3 で⌘+? で Meta+? なキーボード操作を行う設定

Mac でコマンドなどを実行するための Terminal として、iTerm2, iTerm3 を使われている方が多いかと思います。 Linux などでの XTerm などの Terminal に使い慣れている方でしたら、Altキーと何かを組み合わせて Esc+? な Emacs 形式のカーソル移動などをされている場合もあるでしょう。例えば下記のような操作です。

Esc + f : 1単語進む
Esc + b : 1単語戻る
Esc + d : カーソル後ろの1単語を消す
Esc + backspace: カーソル前の1単語を消す

これをMacのキーボード操作の ⌘(Command) + ? で操作したい方も多いかとおもいます。この操作を行うための私の設定方法を紹介します。

⌘(Command) と Option を入れ替える

Remap Modifier keys の設定

iTerm2,3 の設定 (Preference ⌘,) の Keys タブにある Remap modifier keys の設定で、入れ替えたい左右の⌘とOption のキーを入れ替える方法があります。ここで、⌘とOption のキーを入れ替えた場合、コピペ機能のクリップボードにテキストをコピーするときには Option + C といったキー操作になるので、こんどはクリップボード操作をするときに少し困ることとなります。

クリップボード操作が不便なため、既に私はこの設定方法をやめました。

キーボードショートカットにエスケープシーケンスを登録

iTerm2, iTerm3 の Preference

登録したいキー操作は ⌘+b,d,f,delete だけなので、これらをKey Mappings に登録する方法です。

キーボードショートカットの登録例1 : Send Escape Sequence

登録方法の1つ目は、登録する内容を Action=Send Escape Sequence登録する方法。 Action のところで Send Escape Sequence を選択し、送出するキーを設定します。
ただしこの方法では、⌘+Deleteの設定ができませんので、このキーシーケンスだけは後術のHex Codeを設定する方法で設定します。

キーボードショートカットの登録例2 : Send Hex Code

もう一つは登録する内容を Send Hex Code で設定する方法。送出するコードを16進数で設定します。送出するコードを調べるには、下記のように echood -tx1a を使って調べられます。

$ echo -n '^[bfd^?' | od -tx1a
0000000    1b  62  66  64  7f
         esc   b   f   d del
0000005

上記から、各キーシーケンスの Hex Code をこのように設定しました。

Key  Escape Seq   Hex Seq
⌘b   ESC b        0x1b 0x62
⌘f   ESC f        0x1b 0x66
⌘f   ESC d        0x1b 0x64
⌘Del -----        0x1b 0x7f

2016/08/30 追記: 他のアプリのWindowを閉じる時に ⌘+W のキーを iTerm2 にフォーカスがあたっている状態でタイプして酷い思いをしたので、 ⌘+W は Ignore (何もしない) な設定にしてみました。

iTerm2のKey shortcut設定

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト /  変更 )

Google フォト

Google アカウントを使ってコメントしています。 ログアウト /  変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト /  変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト /  変更 )

%s と連携中

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください