我所在的文件夹包含以下文件:
aaa1 aaa2 aaa3 bbb1 bbb2 bbc1 bbc2
我已经cd a
在提示符下输入了。现在,
- 按下Tab完成至
cd aaa
- 然后另一个Tab调出菜单 (
aaa1/ aaa2/ aaa3/
) - 最后第三个Tab完成
cd aaa1/
- 和随后的按键在菜单中循环
我想将第一个和第二个结合起来Tab,以便:
- 按下Tab完成至
cd aaa
和调出菜单 - 按另一个Tab即可完成
cd aaa1/
- 随后的按键将像往常一样在菜单中循环
或者
- 按下Tab完成至
cd aaa
- 按另一个Tab会弹出菜单和完成到
cd aaa1/
- 随后的按键将像往常一样在菜单中循环
是否有任何组合(un)setopt
或zstyle
可以实现这一目标?
答案1
嗯,这个方法似乎直接选择“aaa1”并处于菜单项循环模式:
exec zsh -f
zmodload zsh/complist
autoload -U compinit; compinit
bindkey "^I" menu-select
cd a
选项也是如此menucomplete
:
exec zsh -f
autoload -U compinit; compinit
setopt menucomplete
cd a
有一个autolist
选项,但只列出了输入的选项,cd aaa
而不是您想要的cd a
情况。唔!这个怎么样:
exec zsh -f
autoload -U compinit; compinit
setopt nolistambiguous
cd a
这将完成cd aaa
并显示“aaa*”目录。