有几个快速的 bash 函数可以让我访问我经常使用的文件夹:
function dp() {
cd ~/Development/Personal/$1
}
function dw() {
cd ~/Development/Work/$1
}
Run Code Online (Sandbox Code Playgroud)
例如,我可以输入 dp some-project直接进入个人项目。如果我可以对函数参数进行制表符补全,那么它会自动从我要导航到的目录中提取文件名,但我似乎无法弄清楚......
理想情况下,我可以只输入dp b{tab}并获取dp blog例如目录blog中的文件夹在哪里~/Development/Personal/。
有人知道如何进行这项工作吗?如果有必要的话我会使用 ZSH!
您使用哪种 shell 确实非常重要。
首先,我要提一下,您可以将常用目录添加到“热门列表”中,然后可以将其与cd. 例如,您可以这样做:
cdpath=(~/Development/Personal ~/Development/Work)
Run Code Online (Sandbox Code Playgroud)
然后,在任何时候(并且从任何目录),您应该能够键入cd blog. 制表符补全也将起作用。
如果您仍然想拥有自己的函数cd并为其添加制表符补全,这里有一篇关于如何编写自己的补全函数的信息非常丰富的文章。
简而言之,您在 zsh 完成目录中创建一个名为 的文件,_dp并向其中添加如下内容:
#compdef dp
compadd $(command ls -1 $HOME/Development/Personal 2>/dev/null --color=none | sed -e 's/ /\\ /g')
Run Code Online (Sandbox Code Playgroud)