マシン間で構成ファイルを共有するためのセットアップにかなり満足していますが、zsh (Ctrl + R) で検索したいことがよくあり、どのマシンでコマンドを入力したか思い出せません。理想的には、私のマシンのいずれかから以前のコマンドの正規の重複除外リストを検索するためにこれが欲しいです。ネットワークに接続せずにこれらのマシンで同時に作業することがあるとすれば、履歴ファイルをマージしてすべてを同期させる賢明な方法は何ですか?
4 に答える
oh-my-zsh 用にこのプラグインを作成しました。
Git https://github.com/wulfgarpro/history-syncを使用して、GPG で暗号化され、インターネットで同期された Zsh 履歴用の Oh My Zsh プラグイン
うーん、どういうわけかあなたのアカウントを特定できると思います...それならあなたは次のことをすることができます:
- .zshrcを変更して、ドロップボックスまたはSCMからの他のアカウントの履歴を現在の履歴と連結します。これが現在のコンピューターで起動された最初のzshである場合
- 次に、-n(タイムスタンプで並べ替え)を使用してエントリを並べ替えます
- setopt HIST_SAVE_NO_DUPSを使用している場合、zshは重複を削除すると思います
次に、シェル出口をトラップし、既存の履歴をドロップボックス/SCM/その他の共有場所にコピーする必要があります。
関連するマシンの NFS マウント ポイントに .zsh_history を含めることができます。各マシンには、HISTFILE 環境変数を NFS のそのファイル パスに設定する必要があります。
ZSH はシンボリック リンクを受け入れず、シンボリック リンク ターゲットの最新バージョンを使用するファイルに置き換えられるため、HISTFILE env var は必須です。
私のセットアップは OSX を使用する VM と Parallels 共有フォルダーの間にあるため、上記の内容はテストしていません。したがって、NFS ではファイルの整合性 (順序?) が考慮される可能性があり、VS Dropbox ソリューションも同様です。
確かではありませんが、https://gist.github.com/elim/f77e3e9f06b6f8a5e788のようなものを使用して、マージするバージョンを修正できます...