以前 Linux を使っていたとき bash で Alt+f/Alt+b でカーソル移動できて便利でした。そこで「Mac のコンソール上でも、Bash で単語単位のカーソル移動のキーバインド設定をしたい」と思いました。調べた結果、ターミナルの設定により可能なことがわかりました。以下、この設定方法について説明します。対象とするターミナル・ソフトは、iTerm2 と Terminal です。
Background
最初に調べたところ、[bash のデフォルトの設定で、M-f/M-b (M- は Metaキーのことで実際は ESC キーを押せばいい) で動くことになっている][1]。だけども ESC はさすがにやや押しにくいので、Opt+f (Opt は Mac 純正のキーボードなら option キー。USB で Win 互換のキーボードを使用しているなら Alt キーに同じ) とかにしたい。
[1]: “BASH(1), Reading Key Bindings”
はじめ、man bash したりぐぐったりしていたら、方法はあることがわかった (stty, bind コマンドを使う、もしくは .inputrc に書く)。この方法に従って、bind コマンドで、bash の設定である backward-word, forward-word に対応するキー・シーケンスを変えてみることを試みた。だけど、どうもうまくいかない。
どうやら、ターミナル・ソフト (Terminal.app や iTerm2.app) の方で、キー入力を食ってしまっていたことがわかった。
なので、結論としては、ここではターミナル・ソフトの設定が必要ということになりました。こちらのほうが、カンタンかも。
iTerm2 の場合の設定方法
コンソールでキーを入力している時に、Opt+f が押された時に、Send ^[ f (ESC に続いて f を送出) するよう、ターミナルソフトを設定してやればいい。
iTerm2 の場合、以下のように行う:
- メニューの
iTerm > Preferences... を選択する
Preferences ウィンドウが出るので、 Keys ボタン (上段に配置されている General, Appearance, Profiles, Keys, Pointer, Arrangements の 6 つのボタンの中の右から 3 番目) を押す。
- メインペインの右側ペインに
Global Shortcut Keys が表示される。
この中の追加 ([+]) ボタン (Global Shortcut Keys の一番下にある3つのボタンの一番左) を押す
- メインペインに、ぺろっとウィンドウが出現する。
ここにはKeybord Shortcut 入力欄と Action の選択リストがある。
Action のリストは最初 Ignore になっているから、Send Escape Sequence (たくさん
表示される項目のうち、一番下から 6 番目) に変更する
- そうするとぺろっと出ているウィンドウの中身に
ESC+という入力欄が増える。
この中に、f と入力する
- Keyboard Shortcut の入力欄で、設定したいキー・シーケンスを入力する:
Opt+f
この設定で、Opt+f を入力すると Esc+f が送出され、Bash のデフォの設定により forward-word のコマンドが実行される。
Opt+b の設定も同様にして、Opt+b が押された時に、Send ^[ b するようにしてやればいい。
Terminal.app の場合の設定方法
Mac OSX のデフォルトのターミナルソフト: Terminal.app (ターミナル.app) の場合は、次のようにして、「メタキーとして option キーを使用」チェックを入れるだけでよい。
- Terminal.app 起動後、メニューの
ターミナル > 環境設定... を選択する
- 設定ウィンドウが表示される。上段の設定を押下する
- メインペインの右側ペイン上段、キーボードを押下
- すると、キーとアクションの一覧が表示されるが、このときリストの下にある「メタキーとして option キーを使用」のチェックボックスを、チェックする
これだけ。
まとめ
- Mac の Bash で、単語単位のカーソル移動を
Opt+f, Opt+b で行うように設定できた
- コンソール利用時の単語単位カーソル移動を、Bash の設定でなく、ターミナル側の設定で行う方法を示した
- ターミナル・ソフトは、iTerm2.app と Terminal.app (ターミナル.app) を対象とした
- Bash の設定追加は一切ない
References
posted by もふもふ at 04:58
| ロンドン ☀
|
Comment(0)
|
TrackBack(0)
| カテゴリ:
TIPS
|

|