如何使自动完成功能不更改已输入的路径?

如何使自动完成功能不更改已输入的路径?

不久前,我的 zsh 自动完成功能按照我想要的方式工作,除了我刚刚注意到的一个例外。

如果有两个空目录看起来像这样: a/b/anda1/b/c 和 Icd a/b/和 tab to see more,就没有更多了,所以 autocomplete 会自动切换到a1/b/c,这几乎导致我覆盖了错误目录中的文件。

我当前在 .zshrc 中的自动完成部分如下所示:

autoload -Uz compinit
zstyle ':completion:*' menu select
zmodload zsh/complist
compinit
_comp_options+=(globdots)

我必须更改什么才能禁止自动完成更改我已经输入/选择的目录,但保持当前自动完成配置的其余部分不变?

如果我能自己找到文档中的部分,我将不胜感激,我似乎一生都无法找到它。

谢谢。

答案1

打开accept-exact-dirs完成风格

zstyle :completion::complete:cd::paths accept-exact-dirs true

如何凭经验找到这一点:打开迹线 ( set -x),然后输入cd a/b/并按Tab。在跟踪中,找到位置a1首先提到的位置,然后查看之前的内容。这种合理的配置选项通常作为风格可以配置为zstyle

相关内容