我有一个设置我非常满意在机器之间共享我的配置文件,但我发现我经常想在zsh(Ctrl + R)中搜索,我无法记住哪台机器我输入了命令。理想情况下,我喜欢这样从我的任何机器中搜索以前命令的规范去掉的列表。鉴于我有时在没有网络连接的情况下同时在这些机器上工作,那么合并历史文件和保持所有内容同步的合理方法是什么?
答案 0 :(得分:2)
我为oh-my-zsh编写了这个插件:
使用Git加密,互联网同步Zsh历史记录的Oh Oh My Zsh插件 https://github.com/wulfgarpro/history-sync
答案 1 :(得分:1)
然后您需要捕获shell退出,并将现有历史记录复制到dropbox / SCM /任何共享位置。
答案 2 :(得分:0)
您可以为涉及的机器安装一个NFS挂载点,其中包含.zsh_history。每台机器都需要将HISTFILE env var设置为NFS中的该文件路径。
HISTFILE env var是强制性的,因为ZSH不接受符号链接,并且它将被使用最新版本的符号链接目标的文件替换。
我还没有测试过上面说的内容,因为我的设置是在VM使用OSX和Parallels共享文件夹之间进行的。因此,使用NFS可以考虑文件的完整性(顺序?),也可以考虑VS Dropbox解决方案。
不确定,https://gist.github.com/elim/f77e3e9f06b6f8a5e788之类的东西可用于修复要合并的版本......
答案 3 :(得分:-1)
我使用以下命令:
ssh username@example.com cat ~/.zsh/.zhistory | cat ~/.zsh/.zhistory - | sort | uniq | tee ~/.zsh/.zhistory | ssh username@example.com cat \> ~/.zsh/.zhistory