gpt4 book ai didi

bash - shell函数中的自动完成函数参数

转载 作者:行者123 更新时间:2023-11-29 09:13:14 25 4
gpt4 key购买 nike

有几个快速的 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!

最佳答案

您使用的 shell 非常重要。

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

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

然后,在任何时候(从任何目录),您应该能够键入 cd blog。 Tab 补全也可以。

如果您仍想拥有自己的cd 函数并为它们添加tab 完成,这里是a very informative article关于如何编写自己的完成函数。

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

#compdef dp

compadd $(command ls -1 $HOME/Development/Personal 2>/dev/null --color=none | sed -e 's/ /\\ /g')

关于bash - shell函数中的自动完成函数参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18516175/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com