zsh:仅在按下第二个选项卡时自动完成歧义

zsh:仅在按下第二个选项卡时自动完成歧义

目前,当我按下 TAB 键时,如果自动完成选项不止一个,zsh 会全部显示出来。如果我第二次按下 TAB 键,它会选择第一个。

我想将其更改为:

  1. 第一个 TAB:如果有多个选项,则不执行任何操作
  2. 第二个标签:显示列表
  3. 第三个标签:选择第一个

那可能吗?

(为什么?当我按下 Tab 键时,通常是因为我认为我输入的内容没有歧义。如果不是,我想停下来一秒钟,然后再回头看一看,然后再获取列表。)

此外,如何打开基于菜单的完成(我可以从菜单中选择选项)?

答案1

~/.zshrc

unsetopt BASH_AUTO_LIST

设置 BASH_AUTO_LIST 后,仅当您第二次按下 Tab 键进行模糊完成时,列表才会出现。

看一眼模棱两可的完成更多选项部分

答案2

这是一个老问题,但仍然在谷歌上出现。我没有找到仅在第三个选项卡上完成模糊名称的方法,但我发现你可以使用以下方法完全关闭模糊完成:

setopt no_auto_menu
setopt no_menu_complete

单独运行“setopt”以显示当前设置的内容。它适用于大写和小写以及带或不带下划线的情况。

要关闭某些东西,请在前面加上“no”。

本文档详细介绍了模糊名称补全的选项。 https://zsh.sourceforge.io/Guide/zshguide06.html#l147

相关内容