fish - 列出鱼选项卡完成中不同位置的目录
问题描述
我想创建一个作为目录快捷方式的 fish 函数。
该函数如下所示:
function mydir -d "Navigate to mydir and its subdirectories from anywhere"
cd $HOME/some/path/mydir/$argv
end
该功能运行良好,但我想添加制表符完成。我目前有这个用于制表符完成:
complete --no-files --exclusive --command mydir --arguments "(__fish_complete_directories)"
问题是这将对当前工作目录中的目录进行制表符补全。相反,我希望它在$HOME/some/path/mydir/
. 我在文档中找不到可以帮助我执行此操作的示例或标志。
我不太了解鱼,但我认为这样做的一种方法是手动循环这些目录并将它们添加为选项,但感觉不对,无论如何我都在努力实现该实现。
解决方案
老实说,您的“循环遍历这些目录”对我来说似乎是最“像鱼”的方式,但鉴于有人已经经历了创建和调试现有__fish_complete_directories
(Github 链接)的麻烦,我想我只是使用它作为您自己的完成功能的起点。
在我看来,您可以pushd $HOME/some/path/mydir
在“不存在的命令破解”之前添加一个,然后popd
在最后添加。
推荐阅读
- html - 如何阻止 Html.EditorFor 在下拉列表中显示以前的值
- latex - LaTeX 书到书
- python - 如何在python中为变量制定覆盖规则?
- go - Go time.Time String() 添加“+0000 +0000”,为什么?
- php - 将二维php数组元素相减并输出到同一张表
- python - 有没有办法把一个蟒蛇龟游戏放到网上?
- uitableview - 插入行后有没有办法显示键盘?
- python - Shouldn't my try/except block have caught this AttributeError?
- android - 如何使用 RecyclerView 和 Android Studio 中的按钮将项目添加到列表并因此删除它们?
- java - 将 .txt 文件中的所有单词添加到自定义对象的 ArrayList