有一些快速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!
答案 0 :(得分:4)
你正在使用哪种外壳非常重要。
首先,我要提一下,您可以将常用目录添加到“热门列表”中,然后可以将其与cd
一起使用。例如,你可以这样做:
cdpath=(~/Development/Personal ~/Development/Work)
然后,在任何时候(以及任何目录),您都应该能够输入cd blog
。标签完成也可以。
如果您仍希望为cd
拥有自己的功能并为其添加标签已完成,请参阅a very informative article,了解如何编写自己的完成功能。
简而言之,您在zsh完成目录中创建了一个名为_dp
的文件,并添加了类似的内容:
#compdef dp
compadd $(command ls -1 $HOME/Development/Personal 2>/dev/null --color=none | sed -e 's/ /\\ /g')