web-dev-qa-db-ja.com

Fishには、BashのCTRL + Rと同様の「逆インクリメンタル検索」機能はありますか?

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

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

36
user784637

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

強力な履歴メカニズム

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

それはあなたが探しているものですか?それはbashのものとかなり似ているようです。

46
terdon

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

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

7
rici

使用できます: https://github.com/junegunn/fzf

このライブラリは、魚の殻を強力に検索します。

6
JulienGenoud

魚のバグトラッカーで開かれた機能リクエストがあります:

https://github.com/fish-Shell/fish-Shell/issues/602

誰かがすでにこの回避策を実装しています:

https://github.com/jbonjean/re-search

2
abc-user

[〜#〜] fzf [〜#〜]fzf fishプラグイン を使用したCtrl + r逆検索のはるかに良い Triton fishパッケージマネージャー を使用=、使用するように設定 The Silver Searcher

〜/ .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
1
Duke

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

0