我注意到 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/