如何配置 zsh 在退出时清除历史记录?

如何配置 zsh 在退出时清除历史记录?

在我升级到 macOS Calalina 之前,这曾经是 iTerm2 上的默认行为。

答案1

这不是在 iTerm2 中配置的,而是由 macOS 在 Zsh 本身中设置的。从 macOS Catalina 开始,该文件/etc/zshrc包含以下内容:

HISTFILE=${ZDOTDIR:-$HOME}/.zsh_history
HISTSIZE=2000
SAVEHIST=1000

这将导致退出时保存最后 1K 行历史记录。

要覆盖此设置,请将以下内容添加到您的~/.zshrc文件中:

unset HISTFILE SAVEHIST

文档:http://zsh.sourceforge.net/Doc/Release/Parameters.html#index-SAVEHIST

答案2

步骤1。

%> echo "\n# Clear ZSH history after each exit.\ntrap 'unset HISTFILE; rm ~/.zsh_history;HISTSIZE=0;'" >> .zshrc

现在重新加载你的 ZSH 终端,除非你从 .zshrc 中删除上述行,否则你将永远不会再保存历史记录 :)。

你完成了!

相关内容