Ctrl-R逆方向検索の後に前方検索する単一のショートカット


13

私は常にCtrl+ を使用しますRが、非常に速く押しているので、私はしばしば私が望んでいるコマンドを過ぎてしまいます。

前方検索には、最初に端末を使用していなければCtrl+ Sを使用できます(私の場合はコンソールstty -ixon~/.bashrc修正します)。

ただし、2回押す必要があります。1回i-searchreverse-i-searchモードに入ってから入り、2回目は実際に後退するようです。

ショートカットを2回押す必要をなくす方法はありますか?


3
Ctrl-Rと同様に、最初のCtrl-Sは文字列が検索されるのを待ちます。2番目のものは、前に使用したのと同じ検索文字列を再利用します(状況ではCtrl-Rを使用)。これらの2つのステップを回避する方法はありません。readline「同じ文字列を逆方向に検索する」機能がありません。
xhienne

回答:


11

別のアプローチがあります。基本的なvi編集コマンドに慣れている場合、bashはコマンドライン編集用のviモードをサポートしています。viが本当に嫌いなら、これは好きではないでしょう。ただし、許容できる場合は、キーストロークが少なくて済みます。

set -o vi

履歴検索は次のように機能します。

  • Esc コマンドモードに入る
  • / 検索を開始する
  • 検索文字列のテキストを入力
  • Enter 検索を実行する
  • n 次の試合に行く
  • N 前の試合に戻る
  • i 挿入モードに戻るには
  • Enter コマンドを実行する

Ctrl-RおよびCtrl-Sに相当するviスタイルは、それぞれnおよびNです。また、2回タップする必要もありません。おもしろい!
ナサニエルM.ビーバー

2

どうやらBash履歴検索では、検索する方向を知らせるショートカットを最初に押す必要があり、次に実際に検索を実行するために2回押す必要があります。ソースコードを変更せずに動作方法を変更することは不可能だと思います。

ただし、コマンド履歴を簡単に表示、ナビゲート、検索、および管理するための高度な検索オプションを備えた提案ボックスを備えたhstr(https://github.com/dvorka/hstr)をインストールできます。

ここに画像の説明を入力してください

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.