ターミナルでCtrl+と入力すると、R以前 BASH で入力したコマンドに一致するものを検索できます。たとえば、Ctrl+と入力するRとgrep
、最後に入力しgrep
たコマンドが一覧表示されるので、Enter キーを押して使用できます。ただし、これは 1 つの候補しか表示しません。以前に入力した他の一致するコマンドを循環的に検索する方法はありますか?
答え1
Ctrl質問を正しく理解していれば、 + を繰り返し押すことで選択肢を切り替えることができるはずですR。
例えば:
- Ctrl+R
grep
- Ctrl+R
- Ctrl+ R ...
これは履歴を逆方向に検索します。代わりに前方に検索するにはCtrl+を使用しますが、その前に(または手動で) set: を実行して、 +に取って代わる XON/XOFF 機能を無効にするS必要があります。それでもこのエラーが発生する場合は、+ を使用して画面出力を再度有効にしてください (詳細stty -ixon
.bash_profile
CtrlSCtrlQここ。
答え2
コマンドが頻繁に使用されると思われる場合は、タグを追加することができます
command #useful
それから
Ctrl+R #useful
これは、 がコメント区切り文字であるため機能します#
。つまり、 記号の後に続くものはすべてコマンドとして解釈されません。ただし、履歴に記録されるため、検索可能です。
答え3
~/.inputrc に次の行を追加することで、上下の矢印を設定して少し異なる検索を行うこともできます。
"\e[A": history-search-backward
"\e[B": history-search-forward
コマンド内の任意の場所にある部分文字列を検索する代わりに(Ctrl-r)コマンドを検索しますカーソルの左側のテキストから開始たとえば、次のコマンドを実行するとします。
$ ls bart
$ ls fools
と入力して2 回ls
押すと、同じ場所に とカーソルがUp表示されます。-と比較すると、最後の行で が 2 回見つかるので、前の行を見つけるにはもう一度押す必要があります。ls bart
Ctrlrls
これらのアプローチにはそれぞれ長所があり、どちらも多くの時間を節約できます。
答え4
Ctrl + R組み込みの代替として、文字列これによって、すべての検索トークンに一致するコマンド履歴を同時に検索し、矢印キーを使用して結果を循環させることができます。
こちらはデモスクリーンキャスト。
次のような Debian ファミリー OS にインストールできます。
add-apt-repository ppa:ultradvorka/ppa
apt-get update
apt-get install hstr
hstr --show-configuration >> ~/.bashrc
そしてCtrl + R(ターミナルを再度開いた後に)使用します。