最后转而从bash切换到zsh ...我想进一步了解完成系统,可以使用快速指针。我已经能够使用其他补全来处理命令参数,但是我在尝试使用路径补全。
我使用一个简单的函数(cdp
)跳转到项目目录。我已经建立了一个非常基本的完成脚本,该脚本几乎可以正常工作。我似乎无法获得我希望的行为。
理想情况下,键入cdp in{tab}
将扩展到所有以in
开始的项目,例如:
~/Projects/indigo ~/Projects/instant
相反,我只能获得cdp {tab}
才能获得~/Projects
路径。从那里,它将展开第一级目录。项目目录扩展后,我希望能够为cd
运行标准完成。
这是完成脚本,保存在_cdp
中并添加到fpath
中:
#compdef cdp
basedir="$HOME/Projects"
# the function for jumping to directories...
cdp() {
if [ -z "$1" ] ; then
cd $basedir
else
cd "$1"
fi
}
# completion helper...
_alternative "directories:user directory:($basedir/*)"
这是非常基本的,我只是试图找出下一步的工作。任何想法或指示都会很棒。谢谢!
更新
我发现cdpath
可以很好地满足我的大部分需求...了解如何完成此简单功能仍然很有趣,但是至少到目前为止,我有一个使用{ {1}}和cdpath
。