shell - zsh 自动完成菜单的 TAB 数量不一致

标签 shell zsh

我注意到 zsh 中存在以下行为:
假设我有 3 个文件夹 cd进入:test1/ test2/ test3/
如果我按:

% cd t<TAB>

zsh 自动补全至 test ,但不显示自动完成菜单。还需要另一个<TAB>让它出现。但是,如果我在其中放置另一个文件夹:

% mkdir tx
% cd t<TAB>

我得到:

% cd t
test1/  test2/  test3/  tx/

如何将其配置为一致(在第一个 TAB 之后获取自动完成菜单)?我尝试设置 menu_complete选项,但它也会填充第一个匹配项,这不是我喜欢的。

编辑:刚刚在 bash 中尝试过,而且似乎没有遇到这个问题

最佳答案

我认为这是正常行为,在第一种情况下,“t”不是名称“test1”、“test2”、“test3”中相等的最大序列:它是“test”,因此它完成直到您得到“测试”,然后你就得到了菜单。在第二种情况下,“t”是最大序列,因此 zsh 为您提供自动完成菜单。

如果您不想直接访问菜单,而不是获取可能的匹配项共享的所有剩余字符,则可以使用 zsh setopt menucomplete:

在任一“cd”尝试中,我只写 t 并按 Tab 键一次:

% ls
testA  testB  testC  tr 
% cd test
% setopt menucomplete
% cd t
testA/  testB/  testC/  tr/
% rmdir tr
% cd testA/
testA/  testB/  testC/

关于shell - zsh 自动完成菜单的 TAB 数量不一致,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24039683/

相关文章:

linux - 如果之后使用管道,为什么 wait 会生成 “<pid> is not a child of this shell” 错误?

linux - 如何在句子之间进行比较并计算相似度?

linux - 使用 shell 脚本将文件从目录复制到任何 USB

macos - Zsh 主题在 OSX 上无法正常工作

zsh - 如何跨不同用户的多个环境管理点文件?

vba - 带引号的 Excel VBA Call Shell

Linux 脚本,用于目录的文件

bash - zsh 中的 IFS 行为与 bash 不同

MacOS zshrc 预期的数学表达式运算符错误

git - 如何在终端中显示 git 用户 (oh-my-zsh)