zsh 历史 - 完整路径

stu*_*ent 5 command-history zsh

假设我在 zsh 中执行以下操作

cd ~
cd dir1
cd dir2
cd dir3
evince foo.pdf
Run Code Online (Sandbox Code Playgroud)

zsh 在其历史文件中写入完全相同的内容。

现在我的问题是是否有可能

cd ~
cd ~/dir1
cd ~/dir1/dir2
cd ~/dir1/dir2/dir3
evince ~/dir1/dir2/dir3/foo.pdf
Run Code Online (Sandbox Code Playgroud)

在 zsh 历史中。即 zsh 只记住完整路径。

Ada*_*tek 1

不是一般的方式,因为 shell 无法知道给定的参数是否是相对路径。当然,它可以使用一些启发式方法(类似于用于完成的启发式方法),但这可能太容易出错。