4

有几个快速 bash 函数可以让我访问我经常使用的文件夹:

function dp() {
    cd ~/Development/Personal/$1
}

function dw() {
    cd ~/Development/Work/$1
}

例如,我可以输入 dp some-project直接进入个人项目。如果我可以对函数参数进行制表符补全,那将是杀手锏,因此它会自动从我要导航到的目录中提取文件名,但我似乎无法弄清楚......

理想情况下,我可以输入dp b{tab}并获取dp blog例如目录blog中的文件夹在哪里~/Development/Personal/

任何人都知道如何使这项工作?如果重要的话,我正在使用 ZSH!

4

1 回答 1

4

您使用哪种外壳非常重要。

首先,让我提一下,您可以将常用目录添加到“热门列表”中,然后可以与cd. 例如,您可以这样做:

cdpath=(~/Development/Personal ~/Development/Work)

然后,在任何时候(以及从任何目录),您应该能够键入cd blog. 选项卡完成也将起作用。

如果您仍然想拥有自己的功能cd并为它们添加选项卡完成,这里有一篇关于如何编写自己的完成功能的非常有用的文章。

简而言之,您在 zsh 完成目录中创建一个名为 的文件_dp,并在其中添加如下内容:

#compdef dp

compadd $(command ls -1 $HOME/Development/Personal 2>/dev/null --color=none | sed -e 's/ /\\ /g')
于 2013-08-29T17:26:17.603 回答