私は、前の単語に移動するには Alt キーを押しながら左 (vim の場合は「b」) を押し、次の単語の先頭に移動するには Alt キーを押しながら右を押すことによく慣れています。
しかし、Mac ターミナル (iterm と iterm2) では、それぞれ ;9D と ;9C が表示されます。fn+left を使って行の先頭に移動できますが、それでも非常に不便です。
これを修正する方法はありますか?
答え1
シェルを使用している場合はbash
、以下を に追加します~/.inputrc
。
"\e[1;9C": forward-word
"\e[1;9D": backward-word
変更を適用するには、を押すかCtrl-X、Ctrl-Rシェルを再起動します。
注記:上記のエスケープ シーケンスの一部、具体的には1
、Xterm が使用するものに基づいて推測する必要がありました。
答え2
OS X Lion のターミナルでは、これは期待どおりに動作します。それ以外の場合は、Mb と Mf を試してください (ターミナル プログラムによっては、Meta キーがオプションまたはエスケープになる場合があります)。
答え3
Optionターミナルの設定で-を-Left/Right Arrowにマップできます。これらは、bash (デフォルトのシェル) および Emacs 互換のキー バインディングを持つ任意のプログラムで機能します。Escb/f
ターミナル > 環境設定 > 設定 > [プロファイル] > キーボード
新しいマッピングを追加するには、プラスボタンをクリックします。
キー: カーソルを左に移動
修飾子: オプション
アクション: 文字列をシェルに送信 文字
列: \033b
(Esc キーを押すと「\033」と入力されます。)
次に、「カーソル右」の別のマッピングを「\033f」に追加します。
Mac OS X Lion 10.7 以降では、ターミナルのデフォルトのキーボード マップにこれら 2 つのエントリが含まれているため、これを行う必要はありません。