目前,当我按下 TAB 键时,如果自动完成选项不止一个,zsh 会全部显示出来。如果我第二次按下 TAB 键,它会选择第一个。
我想将其更改为:
- 第一个 TAB:如果有多个选项,则不执行任何操作
- 第二个标签:显示列表
- 第三个标签:选择第一个
那可能吗?
(为什么?当我按下 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