我希望能够查看我的命令历史记录并了解我发出各种命令的上下文 - 换句话说,“我在哪个目录中?”我可以通过各种方式实现这一目标,但是所有这些(我能想到的)都需要操作zsh历史来添加(例如)带有$(pwd)结果的注释行。 (我可以创建名为cd& pushd& popd等的函数,或者我可以使用zsh的preexec()函数,也许它的periodic()函数最多每隔X秒添加一条注释行,就在我发出命令之前,或者也许还有其他方式。)
问题是,我不想直接操纵历史文件并绕过shell的历史记录机制,但我无法找到一种方法(例如使用fc命令)向历史记录添加内容实际上在命令行上输入它。我怎么能这样做?
答案 0 :(得分:3)
您可以使用print -s
命令(请参阅man zshbuiltins
)将您想要的任何内容添加到历史记录中。您还可以创建一个名为zshaddhistory
的钩子函数(参见man zshmisc
),它可以在创建历史内容时对其进行操作。