使用 fzf(模糊查找器)在终端中自动触发历史搜索

use*_*961 7 command-history zsh shell-script oh-my-zsh fzf

是否可以在 zsh shell 中自动触发 fzf 历史搜索?

在这个视频中,用户点击“Ctrl+r”开始历史搜索,然后开始输入。当我开始输入任何内容时,是否可以自动启动历史搜索?或者,是否可以配置 zsh 以便新提示始终以“Ctrl + r”模式启动?

小智 9

原始GitHub 存储库对此进行了描述。如果您正在使用,homebrew您只需按照$(brew --prefix)/opt/fzf/install您喜欢的方式键入和配置它。该脚本将创建两个文件并要求您更新 shell 配置文件。对于所有其他安装过程(git clone、linuxbrew...)请查看https://github.com/junegunn/fzf

\n\n
$(brew --prefix)/opt/fzf/install                                                                             \xe2\x94\x80\xe2\x95\xaf\nDownloading bin/fzf ...\n  - Already exists\n  - Checking fzf executable ... 0.18.0\nDo you want to enable fuzzy auto-completion? ([y]/n) y\nDo you want to enable key bindings? ([y]/n) y\n\nGenerate /Users/hans/.fzf.bash ... OK\nGenerate /Users/hans/.fzf.zsh ... OK\n\nDo you want to update your shell configuration files? ([y]/n) y\n\nUpdate /Users/hans/.bashrc:\n  - [ -f ~/.fzf.bash ] && source ~/.fzf.bash\n    + Added\n\nUpdate /Users/hans/.zshrc:\n  - [ -f ~/.fzf.zsh ] && source ~/.fzf.zsh\n    + Added\n\nFinished. Restart your shell or reload config file.\n   source ~/.bashrc  # bash\n   source ~/.zshrc   # zsh\n\nUse uninstall script to remove fzf.\n
Run Code Online (Sandbox Code Playgroud)\n

  • OP问(强调我的)“当我开始输入_任何内容时,是否可以_自动_启动历史搜索?”_你的答案不会这样做。 (3认同)

Mar*_*ert 5

当您输入内容时,您无法自动启动 Fzf。否则,您\xe2\x80\x99将无法返回到命令行,因为 Fzf 会拦截您的所有击键。

\n

但是,我的zsh-autocomplete插件可以配置为自动显示匹配的历史记录项,而无需离开命令行。安装插件,此外,将此设置添加到您的.zshrc文件中:

\n
zstyle \':autocomplete:*\' default-context history-incremental-search-backward\n
Run Code Online (Sandbox Code Playgroud)\n

历史自动完成屏幕录制

\n

按下CtrlR可在历史记录和完成情况之间切换。

\n