ただいま整理中。
Blogspot (Blogger?) に移行しました!
タイムライン | 技術系 | TIPS | ライフハック系 | その他 | 左記カテゴリ以外は、右の欄の下のタグクラウドへ!
.

2014年04月24日

Mac のターミナルの Bash に単語単位カーソル移動のキーバインド設定をする
カテゴリ: TIPS | タグ: 単語 移動 カーソル Bash OSX Mac

※[ブックマーク]ボタンの中に delicious, reddit, digg, Google+(G+) のボタンもあります。

以前 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 の場合、以下のように行う:

  1. メニューの iTerm > Preferences... を選択する
  2. Preferences ウィンドウが出るので、 Keys ボタン (上段に配置されている General, Appearance, Profiles, Keys, Pointer, Arrangements の 6 つのボタンの中の右から 3 番目) を押す。
  3. メインペインの右側ペインに Global Shortcut Keys が表示される。
    この中の追加 ([+]) ボタン (Global Shortcut Keys の一番下にある3つのボタンの一番左) を押す
  4. メインペインに、ぺろっとウィンドウが出現する。
    ここにはKeybord Shortcut 入力欄と Action の選択リストがある。
    Action のリストは最初 Ignore になっているから、Send Escape Sequence (たくさん
    表示される項目のうち、一番下から 6 番目) に変更する
  5. そうするとぺろっと出ているウィンドウの中身に ESC+という入力欄が増える。
    この中に、f と入力する
  6. 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 キーを使用」チェックを入れるだけでよい。

  1. Terminal.app 起動後、メニューのターミナル > 環境設定... を選択する
  2. 設定ウィンドウが表示される。上段の設定を押下する
  3. メインペインの右側ペイン上段、キーボードを押下
  4. すると、キーとアクションの一覧が表示されるが、このときリストの下にある「メタキーとして 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 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

※ブログオーナーが承認したコメントのみ表示されます。

この記事へのトラックバック
トラックバックURLは,"Trackback(x)"のリンクを押すと表示されます.
×

この広告は180日以上新しい記事の投稿がないブログに表示されております。