web-dev-qa-db-ja.com

zshの端末間でどのように履歴を共有しますか?

入力されたすべてのコマンドが、開いているすべての端末の履歴に表示されるようにするにはどうすればよいですか?

複数の端末を開いている場合、履歴は共有されません。つまり、ある端末の履歴に入力したものが別の端末に表示されません。 BashのPrompt_COMMAND="history -a"(プロンプトが表示される前に履歴を保存する)に代わるものを考えてください。

29
MJB

次のオプションが適用可能です。

  • すべてのコマンドを実行する前に保存する(これはbashの履歴とは異なります-解決策):

    setopt inc_append_history
    
  • 履歴が呼び出されるたびに履歴ファイルとinc_append_historyの機能を読み取るには:

    setopt share_history
    

これらは.zshrcファイルで設定できます。

Bashに関連:

36
MJB

Robby Russellの素晴らしいOhMyZSHを使用すれば、これ以上のことはできます。

https://github.com/robbyrussell/oh-my-zsh/blob/master/lib/history.zsh を参照してください

これにはsetopt inc_append_historyが含まれます。

4
james_womack