你如何在zsh中的终端之间共享历史记录?

如何才能实现所有输入的命令在每个开放终端的历史中都可见?

当多个终端打开时,历史记录不会共享,即您在一个终端历史记录中输入的内容不会显示在另一个终端历史记录中。 想想Bash的PROMPT_COMMAND="history -a"的替代方案(在显示提示之前保存历史记录)。

.zshrc文件中,以下值可实现此目的:

  • 在执行命令之前保存每个命令(这与bash的历史记录不同 – 一个解决方案):

     setopt inc_append_history 
  • 每次调用历史记录时检索历史记录文件。

     setopt share_history 

与bash相关:

  • 是否有可能立即写入.bash_history?

如果你使用Robby Russell的真棒OhMyZSH,它会照顾到这一点以及更多。

请参阅https://github.com/robbyrussell/oh-my-zsh/blob/master/lib/history.zsh

这包括setopt inc_append_history