如何在多台机器之间共享 zsh 历史记录?

10 zsh zshrc

我有一个设置,我很高兴在机器之间共享我的配置文件,但我发现我经常想在 zsh (Ctrl + R) 中搜索,我不记得我在哪台机器上输入了命令。理想情况下,我希望从我的任何机器中搜索以前命令的规范重复列表。鉴于我有时在没有网络连接的情况下同时在这些机器上工作,合并历史文件并使所有内容保持同步的明智方法是什么?

wul*_*pro 6

我为 oh-my-zsh 编写了这个插件:

Oh My Zsh 插件,用于 GPG 加密,使用 Git 与互联网同步 Zsh 历史记录 https://github.com/wulfgarpro/history-sync


Ant*_*ala 1

嗯,我想你可以以某种方式识别你的帐户......然后你可以执行以下操作:

  • 修改您的 .zshrc 以将 dropbox 或 SCM 中的其他帐户的历史记录与当前历史记录连接起来(如果这是当前计算机上启动的第一个 zsh)
  • 然后使用 -n 对条目进行排序(按时间戳排序)
  • 我猜如果你设置了 setopt HIST_SAVE_NO_DUPS,zsh 会删除重复项

然后您需要捕获 shell 退出,并将现有历史记录复制到 dropbox/SCM/任何共享位置。

  • 这大部分有效,但遗憾的是多行命令以这种方式被破坏(带有“\”-继续或“do”-“done”块的行) (3认同)