回答:
キーバインドを設定するには:最初に、Ctrl+ Leftキーシーケンスが作成するキーコードを調べる必要があります。コマンドcat
を使用して既存のキーバインディングとの干渉をオフにし、キーシーケンスを入力します。私のシステム(Linux)では、これは次のようになります。
$ cat
^[[1;5D
Ctrl+ dを押してcatを終了します。これで、Ctrl-Leftが6つのキーコードを発行することがわかりました。
これで、バインドコマンドを発行できます。
bind '"\e[1;5D": backward-word'
必要なbash関数はですbackward-word
。実行bind -q backward-word
して、その関数にバインドされたキーのリストを取得できます。1つの一般的なバインディングはEsc +b
また、多くの端末はCtrl+をサポートしていLeftます(Xで使用してワード単位で逆方向にジャンプできる同じホットキー)
backward-word can be invoked via "\eb".
が、Esc + bの代わりにcontrol + Leftをバインドするにはどうすればよいですか?また、Esc + bの欠点の1つは、単語に戻るたびにEscキーを離さなければならないことです。これより良い方法はありませんか。
set editing-mode vi
:)
Bashのデフォルトのキーショートカットbackword-word
はAlt+ bです。同じ結果はEsc+ で達成できますb。キーバインドを編集する前に、これらを試してみてください。
bind
コマンドを使用してbind -q [name]
、特定のアクションの現在のキーバインドを編集または取得します。
Alt + f