zsh自动填充不存在的文件夹

zsh自动填充不存在的文件夹,第1张

概述刚开始使用带有oh-my-zsh的zsh,我发现用cd自动完成时有点奇怪. 假设我有一个文件夹: my_folder/ subfolder/ another_subfolder/ file.txt 当我使用bash时,我可以输入: $cd p<tab> 并且没有任何事情会发生,因为my_folder中的任何内容都不以p开头,但如果我在zsh中执行相同的 *** 作,它会自动填充到单 刚开始使用带有oh-my-zsh的zsh,我发现用cd自动完成时有点奇怪.

假设我有一个文件夹:

my_folder/    subfolder/    another_subfolder/    file.txt

当我使用bash时,我可以输入:

$cd p<tab>

并且没有任何事情会发生,因为my_folder中的任何内容都不以p开头,但如果我在zsh中执行相同的 *** 作,它会自动填充到单词proxy,我假设它是文件系统中其他位置的某个目录?

我不确定某些内容是否设置错误,或者这是否与自动完成在zsh中的工作方式有关,我不明白.

编辑:

CTRL Xh的输出:

Tags in context :completion::complete:cd::    local-directorIEs named-directorIEs      (_alternative _cd (eval))     users named-directorIEs directory-stack  (_tilde _alternative _cd (eval))     users                                    (_users _tilde _alternative _cd (eval))
解决方法 我不确定你是否还在追踪这个问题,但我想帮忙.自从我深入研究zsh的完成系统之后,已经有一段时间了,所以这将是一个很好的借口.

目前,我们将使用此答案作为持续工具,为我提供有用的花絮,以帮助您(和我)解决问题.

正如您所知,zsh的完成系统非常强大.有时,它会完成您不想完成的项目.例如,您几乎总是希望将’cd’命令的参数限制为目录.但是,在zsh中,这些可能是文件系统目录,命名目录,各种路径变量中的目录,甚至是存储在标准shell变量中的目录.所以,我认为第一步是确定完成的“背景”.

请cd进入上面的my_folder目录,然后键入:

cd p<CTRL-X>h

CTRL-Xh是显示当前上下文以完成的默认键组合.请让我知道这个关键组合的输出是什么.例如,我的输出看起来像这样:

Tags in context :completion::complete:cd::    local-directorIEs  (_alternative _cd (eval))

要注意的关键项是“local-directorIEs”.我们在这里看不到的是一个常见的项目’path-directorIEs’,它指的是可以在$cdpath中找到的目录,也可能是其他位置. (我不记得了.)

如果您看到“local-directorIEs”以外的项目,那么这将暗示这个流氓“代理”条目可能来自哪里.例如,如果我尝试从命令行的开头尝试完成而不键入任何内容,则以下是我的zsh设置将尝试完成的项目类型:

commands builtins functions aliases suffix-aliases reserved-words jobs parameters

您可能确实会看到一个或多个带有CTRL-Xh输出的项目,甚至是我上面没有列出的项目. (这只是例子)

这是一种方法,您可以帮助将zsh限制为仅提供本地目录和$cdpath目录作为完成选项:

zstyle ':completion:*:cd:*' tag-order local-directorIEs path-directorIEs

如果你不想要zsh提供的一些适度有用的cd魔法,请从最后删除’path-directorIEs’,我相信你会得到你想要的行为.您需要将其放入.zshrc文件中,以使其在会话中保持不变.如果这有帮助,请告诉我.

总结

以上是内存溢出为你收集整理的zsh自动填充不存在的文件夹全部内容,希望文章能够帮你解决zsh自动填充不存在的文件夹所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1037886.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存