在zsh中使用_替代项完成简单命令
终于开始切换到zsh(从bash)。。。我正在尝试了解更多关于完成系统的信息,可以使用快速指针。我已经能够为命令参数使用其他补全,但我正在为路径补全而挣扎 我使用一个简单的函数(在zsh中使用_替代项完成简单命令,zsh,completion,Zsh,Completion,终于开始切换到zsh(从bash)。。。我正在尝试了解更多关于完成系统的信息,可以使用快速指针。我已经能够为命令参数使用其他补全,但我正在为路径补全而挣扎 我使用一个简单的函数(cdp)跳转到项目目录。我已经建立了一个非常基本的完成脚本,它几乎可以工作。我只是无法得到我所希望的行为 理想情况下,在{tab}中键入cdp将扩展到以中的开头的所有项目,例如: ~/Projects/indigo ~/Projects/instant 相反,我只能获取cdp{tab}来获取~/Projects路径。从
cdp
)跳转到项目目录。我已经建立了一个非常基本的完成脚本,它几乎可以工作。我只是无法得到我所希望的行为
理想情况下,在{tab}中键入cdp将扩展到以
中的开头的所有项目,例如:
~/Projects/indigo ~/Projects/instant
相反,我只能获取cdp{tab}
来获取~/Projects
路径。从那里,它将展开第一级目录。一旦项目目录展开,我希望能够运行cd
的标准完成
这是完成脚本,保存在\u cdp
中并添加到fpath
:
#compdef cdp
basedir=“$HOME/Projects”
#跳转到目录的功能。。。
cdp(){
如果[-z“$1”];则
cd$basedir
其他的
cd“$1”
fi
}
#完成助手。。。
_备选“目录:用户目录:($basedir/*)”
这是很基本的,我只是一直在想下一步该去哪里。任何想法或建议都会很好。谢谢
更新
我发现cdpath
可以很好地满足我的大部分需求。。。知道如何完成这个简单的功能仍然很有趣,但至少现在我有了一个使用cdpath
和auto\u cd
的有效解决方案