如何使 zsh 完成的行为类似于 Bash 完成?

nsm*_*nsm 14 linux zsh command-line

我切换到 zsh,但我不喜欢完成。如果我有 20 个文件,每个文件都有一个共享前缀,在按 Tab 键时,zsh 将完全完成第一个文件,然后每次按 Tab 键继续浏览列表。如果我想要接近尾声,我将不得不多次按 Tab。

在 bash 中,这很简单 - 按 Tab 键,我会得到前缀。如果我继续打字(并按 Tab 键),bash 将尽其所能完成。我发现这种行为更直观,但更喜欢 zsh 的其他功能而不是 bash。

有没有办法获得这种完成风格?谷歌建议setopt bash_autolist,但这对我没有影响(并且在启动我的 shell 时没有打印错误消息)。

谢谢。

ggu*_*son 13

你想要的大概是这样的:

setopt noautomenu
Run Code Online (Sandbox Code Playgroud)

  • (10 年后)接受的答案对我没有(明显的)影响。这正是我想要的,也是 OP 所要求的。 (3认同)

Den*_*son 8

尝试:

setopt autolist
unsetopt menucomplete
Run Code Online (Sandbox Code Playgroud)