
私は以下の行を使用しています~/.inputrc
:
"\e[5~": history-search-backward
"\e[6~": history-search-forward
これらの設定でcプロンプトに と入力して を実行すると、bash は履歴からPageUpで始まるコマンドのみを表示します。はその逆を行います。これは私にとって非常に生産的だと思います。cPageDown
inputrc ファイルにこれらの行がない場合、Ctrl+を実行するとLeft、カーソルは 1 単語左に移動し、Ctrl+はその逆の動作をします。ただし、上記の設定を使用すると、 +と+をLeft実行すると、代わりにとが出力されます。CtrlLeftCtrlRight;5D
;5C
では、Ctrl+ Left& Ctrl+をRight正しく動作させるにはどうすればよいでしょうか?
答え1
readline
これらの移動のための2 つのコマンドはforward-word
とですbackward-word
。それぞれ (emacs のデフォルトのバインド)
Altfとを使用してアクセスできますAltb。
Leftキーとキーを使用して動作させるにはRight、 に数行追加する必要があります~/.inputrc
。
まず、端末からこれらのキー入力の生の出力を取得して、正しいエスケープ シーケンスを確認します。 と を入力しCtrlv CtrlLeft、Ctrlv CtrlRightシーケンス (^[Oc
と のような形式^[Od
) をメモします。次に、次の行を に追加します.inputrc
。
"\eOc": forward-word
"\eOd": backward-word
すべてのreadline コマンドあなたの中でリバウンドする可能性があります.inputrc
。
答え2
これらのシーケンスは端末ごとに異なる場合があることに注意してください。テキストから判断すると、gnome-terminal を使用しているようです。
# on gnome-terminal
"\e[1;5D": backward-word
"\e[1;5C": forward-word