Bash:カーソルを一度に1単語ずつ左に移動するには?

Bash:カーソルを一度に1単語ずつ左に移動するには?

optionOSXでは、編集する必要がある単語に達するまで左カーソルキーを押し続けることができます(またはViではをクリックできますが、b端末でこれを行う方法はわかりません)。

答え1

Ctrlキーバインディングを設定するには、まず+キーシーケンスが生成するキーコードを見つける必要がありますLeft。このコマンドを使用して、cat既存のキーバインディングへの干渉をオフにしてキーシーケンスを入力するだけです。私のシステム(Linux)では、次のようになります。

$ cat
^[[1;5D

猫を終了するにはCtrl+を押します。dこれで、Ctrl-Leftが6つのキーコードを生成することがわかりました。

  • 脱出(^[)
  • [
  • 1
  • ;
  • 5
  • D

これでバインディングコマンドを実行できます。

bind '"\e[1;5D": backward-word'

答え2

希望のbash関数はですbackward-wordbind -q backward-word関数にバインドされたキーのリストを取得するには。一般的なバインディングはEsc+b

また、多くの端末でCtrl+をサポートしていますLeft(Xで同じショートカットを使用して単語単位で戻ることができます)。

答え3

Bashのデフォルトのショートカットは+backword-wordです。 +を使用しても同じ結果が得られます。キーバインディングを編集する前にこれを試してください。AltbEscb

コマンドを使用して、特定のアクションの現在のキーバインディングをbind編集またはインポートします。bind -q [name]

関連情報