这对我来说似乎很基础,但我一直无法弄明白。所以我写了一个完成,自动完成我的代码目录,如下所示:
complete --command dev --exclusive --arguments '(__fish_complete_directories (~/Code/))'
现在我正在尝试从上面的dev完成中编写一个cd进入所选目录的函数。
这不起作用,但我希望你得到我想要做的事情:
function c
cd dev
end
因此,在输入c时,我希望将〜/ Code /目录中的所有目录作为选项卡完成选项,然后当我选择一个时,我希望将当前路径转到所选目录。
顺便说一下 - 鱼需要更多的文档:)
答案 0 :(得分:2)
所以你要做两件事:
c
c
显示路径
醇>
这很简单:
function c
cd $argv
end
complete --command c --exclusive --arguments '(__fish_complete_directories ~/Code/)'
我不确定dev
是什么意思,但要明确,--command
complete
选项会为现有命令添加完成。它没有定义新命令。
关于文档,http://fishshell.com/docs/current/index.html有很多。如果您认为需要更多报道的领域请在https://github.com/fish-shell/fish-shell/issues打开问题。