Mac ;9D と ;9C (Alt 左と Alt 右)

Mac ;9D と ;9C (Alt 左と Alt 右)

私は、前の単語に移動するには 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-XCtrl-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 つのエントリが含まれているため、これを行う必要はありません。

関連情報