fish shell 目录堆栈
fish shell directory stack
在 zsh 中有一个选项可以将每个访问过的目录自动推送到目录堆栈 (setopt auto_pushd
),由 dirs
表示。我刚切换到 fish 并意识到没有这样的默认选项。此外,当尝试访问 dirs
时,它只是填充了 pwd
的当前输出。有没有可能在鱼中启用这种行为?
当然可以选择编写自己的 cd 函数,以便每次 cd 进入文件夹时调用 pushd
,但因为我也在切换目录,只是使用路径作为命令不会那么有用。
所以基本上每次我当前的工作目录改变时我都可以调用一个函数吗?
每次目录更改时,您都可以运行一个函数,如下所示:
function myfunc --on-variable PWD
echo Changed!
end
但是! fish 的 cd
默认情况下是一个管理目录堆栈的函数包装器。 (你可以通过运行宁functions cd
看到它的胆量。)
您可以使用 prevd
和 nextd
在目录历史记录中来回移动。还有 shorthand cd -
跳转到您所在的最后一个目录。
在 zsh 中有一个选项可以将每个访问过的目录自动推送到目录堆栈 (setopt auto_pushd
),由 dirs
表示。我刚切换到 fish 并意识到没有这样的默认选项。此外,当尝试访问 dirs
时,它只是填充了 pwd
的当前输出。有没有可能在鱼中启用这种行为?
当然可以选择编写自己的 cd 函数,以便每次 cd 进入文件夹时调用 pushd
,但因为我也在切换目录,只是使用路径作为命令不会那么有用。
所以基本上每次我当前的工作目录改变时我都可以调用一个函数吗?
每次目录更改时,您都可以运行一个函数,如下所示:
function myfunc --on-variable PWD
echo Changed!
end
但是! fish 的 cd
默认情况下是一个管理目录堆栈的函数包装器。 (你可以通过运行宁functions cd
看到它的胆量。)
您可以使用 prevd
和 nextd
在目录历史记录中来回移动。还有 shorthand cd -
跳转到您所在的最后一个目录。