在 fish 中将 shift-tab 绑定到 complete-backward

在 fish 中将 shift-tab 绑定到 complete-backward

我发现自己在使用 fish-shell 的自动完成功能,按两次或多次 tab 键可以循环显示建议。但是后来我不小心按了一次 tab,结果太多了,我想回到上一个建议,所以我按了 shift-tab,它只会附加[z到命令上。

例如,当我输入cd Dtabtab

~> cd Desktop/

我按下tab,结果:

~> cd Documents/

现在,当我按下 时<shift+tab>,提示变为~> cd Documents/[Z而不是返回到所需的:

~> cd Desktop/

我该怎么做呢(最好使用文件fish_user_key_bindings.fish)?文档仅提供特殊功能complete

答案1

  • 正如您所说“文档仅提供了完整的特殊功能”。您无法返回预览建议,因为此功能尚未实现。

  • 但是要定义新的绑定,您必须使用 fish_user_key_binding 函数,而不是 .fish 文件:打开您的配置文件~/.config/fish/config.fish

并添加:

function fish_user_key_bindings
        bind [Z complete
        end
  • 重新启动你的鱼,这很好绑定shift + tab完成

答案2

考虑使用 zsh。

它的自动完成器的确切细节当然可以根据您的个人喜好进行配置,但我设置的方式是,如果我按Tab两次,我会得到一个“菜单”,我可以使用Tab键或箭头键进行导航,如下所示:

ZSH 完成

一旦我选择了我想要的条目,我可以按 Enter 来告诉 zsh 这是我想要的,或者我可以继续输入,zsh 会假定这是正确的。

相关内容