Fish中是否有类似于Bash的CTRL + R的“反向增量搜索”功能?


36

Fish的自动完成功能给我留下了深刻的印象。但是,我无法在Fish中找到Bash中的一项功能。当您在Bash中按Ctrl+ R并开始输入术语时,将对您.bash_history进行搜索以按相反的顺序查找匹配项。

Fish中有类似的功能吗?


关于fish的向上/向下箭头功能,需要注意的是,它远没有bash的反向搜索功能强大。当您可以记住您的参数或选项,但不能记住命令的第一部分时,这一点变得显而易见。反向搜索执行模糊内联搜索,fish只是检查句子的相同开头。
卡巴斯尔HJ 2015年

6
@KasperHJ,我认为您的评论可能已过时。我打字sta并向上按,发现了git stash list。我最近才刚开始使用Fish,所以不知道这是最近添加的功能还是在Fish中使用了很长时间的功能。
Elias Zamaria'8

Answers:


46

我从没用过fish我自己,但是粗略的Google搜索显示了此页面,其中指出:

强大的历史机制

现代shell将以前的命令保存在命令历史记录中。您可以使用向上和向下箭头查看较早的命令。Fish通过集成历史记录搜索功能扩展了这一概念。要搜索历史记录,只需键入搜索字符串,然后按向上箭头。通过使用向上和向下箭头,您可以搜索较旧和较新的匹配项。鱼的历史记录会自动删除重复的匹配项,并且匹配的子字符串将突出显示。这些功能使搜索和重用以前的命令变得更快。

那是您要找的东西吗?似乎与bash的非常相似。


7

fish似乎不时执行增量历史搜索,尽管它似乎有时会出现。2.0之前的文档具有“缺少的功能和错误”部分1,该列表在“可能的功能”列表中列出了相当低的增量历史记录搜索。鱼用户的邮件列表中包含来自Axel Liljencratz的消息(日期为2006年8月21日),他说增量搜索将是一个不错的功能。

如果您习惯于以bash方式进行增量搜索,那么鱼类历史记录搜索确实需要一点时间来适应。您必须先输入搜索词,然后使用上下箭头上下移动匹配的条目。但是我想你已经习惯了。




1

好得多CTRL + R键具有反向搜索FZFFZF鱼插件,使用的Triton鱼包管理器,被配置为使用 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

0

使用向上和向下箭头不是替代的好方法Ctrl+R,因为如果您要查找的短语在历史上确实很深,那么您将不得不多次按下向上/向下键!我只是用history | grep -i [phrase]

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.