我最近开始使用cdr
inzsh
来记住最近的目录。我以前用过pushd
之类的。我想念的一件事是popd
,这基本上意味着“我已经用完了这个目录,把我放回原来的位置,并在堆栈中删除这个条目。”
可以用 来完成类似的语义cdr
吗?
编辑:将“历史”更改为“堆栈”。
我最近开始使用cdr
inzsh
来记住最近的目录。我以前用过pushd
之类的。我想念的一件事是popd
,这基本上意味着“我已经用完了这个目录,把我放回原来的位置,并在堆栈中删除这个条目。”
可以用 来完成类似的语义cdr
吗?
编辑:将“历史”更改为“堆栈”。
你可以输入
并将从其列表中删除您所在的目录
cdr
。要修剪另一个目录,只需替换为要删除的目录的绝对路径名即可。或者如果你想删除一整套目录,你也可以在参数中使用 glob 模式。并且在进行任何更改之前,它会显示您操作的结果将是什么,并要求您确认,因此您不必担心“意外整件事”。有关详细信息,请参阅http://zsh.sourceforge.net/Doc/Release/User-Contributions.html#Options-2。$PWD
cdr -p
要回到我们所在的上一个目录,请执行
您可以将这两者结合在一个函数中:
顺便说一句:您可以设置
cdr
也执行cd
命令。要启用此功能,请将以下内容放入您的~/.zshrc
文件中:然后,您传递给
cdr
的任何参数都不是特定的,而是cdr
将被传递给cd
。那么你就不需要考虑是否使用cd
orcdr
; 你可以一直使用cdr
一切。有关详细信息,请参阅http://zsh.sourceforge.net/Doc/Release/User-Contributions.html#Configuration-2。小更正:
popd
不会从历史记录中删除目录,而是从目录堆栈中删除它。?