BashのCTRL + Rに似た「逆インクリメンタル検索」機能がFishにありますか?


36

Fishのオートコンプリート機能には本当に感銘を受けました。ただし、Bashには、Fishで見つけることができない機能が1つあります。BashでCtrl+ を押しRて用語の入力を開始すると.bash_history、逆の順序で一致するものが検索されます。

Fishに同様の機能はありますか?


魚の上/下矢印機能について注意すべきことは、bashの逆検索よりもはるかに強力でないことです。これは、コマンドの最初の部分からではなく、引数またはオプションを覚えている場合に明らかになります。逆方向検索ではあいまいなインライン検索が行われ、fishは文の同一の開始点をチェックするだけです。
キャスパーHJ

6
@KasperHJ、あなたのコメントは時代遅れかもしれません。入力staして押したところ、が見つかりましたgit stash list。私は最近Fishを使い始めたばかりなので、これが最近追加された機能なのか、Fishに長い間使用されている機能なのかわかりません。
エリアスザマリア

回答:


46

私はfish自分自身を使用したことはありませんが、大まかなGoogle検索でこのページが表示され、

強力な履歴メカニズム

最新のシェルは、コマンド履歴に以前のコマンドを保存します。上矢印と下矢印を使用して、以前のコマンドを表示できます。Fishは、履歴検索機能を統合することにより、この概念を拡張します。履歴を検索するには、検索文字列を入力し、上矢印を押します。上矢印と下矢印を使用して、古いものと新しいものを検索できます。魚の履歴は自動的に重複する一致を削除し、一致する部分文字列が強調表示されます。これらの機能により、以前のコマンドの検索と再利用がはるかに高速になります。

それはあなたが探しているものですか?bashによく似ています。


7

fishは時々履歴検索を実装していませんが、時々現れるようです。2.0より前のドキュメントには、「欠落している機能とバグ」セクション1があり、「可能な機能」リストのかなり下に増分履歴検索がリストされています。fish-usersメーリングリストには、2006年8月21日付のAxel Liljencratzからのこのメッセージが含まれています。このメッセージでは、インクリメンタルサーチは便利な機能だと言います。

bashスタイルのインクリメンタル検索に慣れている場合、魚の履歴の検索には少し慣れる必要があります。最初に検索語を入力する必要があり、上下の矢印を使用して一致するエントリを上下に移動します。しかし、あなたはそれに慣れるでしょう。




1

The Silver Searcherを使用するように設定されたTriton fishパッケージマネージャーを使用して、FZFおよびfzf fishプラグインを使用したはるかに優れたCtrl + r逆検索。

〜/ .config / fish / config.fish:

triton jethrokuan/fzf
set -U FZF_COMPLETE 2
set -U FZF_FIND_FILE_COMMAND "ag -l --hidden --ignore .git"
set -U FZF_DEFAULT_OPTS "--height 40% --layout=reverse --border"

Mac OSで、前提条件をインストールするには:

brew install the_silver_searcher
brew install fzf

0

上矢印と下矢印を使用することは、に代わる良い選択肢ではありません。Ctrl+R探しているフレーズが本当に歴史の奥深くにある場合、上下のキーを何度も押す必要があるためです。私はただ使うhistory | grep -i [phrase]

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