如何在 ZSH 的 vi 模式下使用 FZF 的按键绑定?

如何在 ZSH 的 vi 模式下使用 FZF 的按键绑定?

应用命令后:set -o vi在 ZSH 中,我无法像以前一样使 FZF 键绑定工作,例如^CR用于反向历史搜索。.我怎样才能使其再次工作?

答案1

首先设置你的键盘映射,然后来源 Fzf 的 shell 脚本。否则,Fzf 的 shell 脚本会将所有键绑定安装到默认emacs键映射中(之后您可以切换到vi)。

答案2

我使用这个插件作为我的基础。https://github.com/jeffreytse/zsh-vi-mode 它只是 zsh 的更好的 vi 模式。

然后我将 fzf 的键盘映射插入到插件的文件 zsh-vi-mode.zsh 中的“#Other key bindings”注释下。我必须将 fzf-keymap 的键绑定命令从 更改bindkey'<key>' <funktion>zvm_bindkey viins '<key>' <fzf-funktion>

根据插入 fzf-keymap 的位置,您必须取消注释该行zvm_bindkey viins '^R' history-incremental-search-backward

fzf 的键位图一言以蔽之。根据您安装 fzf 的方式,您可以在安装目录或 /usr/share/fzf 下找到它。

然后我首先加载 fzf 插件,然后加载 zsh-vi-mode 插件。第二个应该覆盖第一个。

可能有更好的方法来做到这一点,但它对我有用。我希望我能提供帮助。

相关内容