鱼壳目录栈

hGe*_*Gen 2 command-line fish

在 zsh 中,有一个选项可以将每个访问过的目录自动推送到目录堆栈 ( setopt auto_pushd),由dirs. 我刚刚切换到鱼并认识到没有这样的默认选项。此外,当尝试访问dirs它时,它只是填充了pwd. 是否有可能在鱼类中实现这种行为?

当然,可以选择编写自己的 cd 函数,以便在pushd每次 cd 进入文件夹时调用,但因为我也在切换目录,只是使用路径作为命令,这不会那么有用。

那么基本上我可以在每次当前工作目录改变时调用一个函数吗?

rid*_*ish 5

您可以在每次目录更改时运行一个函数,如下所示:

function myfunc --on-variable PWD
    echo Changed!
end
Run Code Online (Sandbox Code Playgroud)

然而!cd默认情况下,fish是一个管理目录堆栈的函数包装器。(你可以通过运行看到它的胆量functions cd。)

您可以使用prevdnextd在目录历史记录中前后移动。还有一种快捷方式cd -可以跳转到您所在的最后一个目录。