web-dev-qa-db-ja.com

zshのセッション間で永続的なディレクトリスタック

ディレクトリスタック(dirsでアクセスされるもの)をセッションとtmuxペイン/ウィンドウ間で共有したいと思います。

zshbuiltinsのマニュアルページ で、切り替えたすべてのディレクトリをスタックに追加するためのautopushdを見つけました。しかし、スタックを永続化して共有するためのネイティブな方法はないようです。

スタックを一時ファイルに保存する必要がありますか、それともより良い解決策がありますか?

3
benjy

一般的に言って、これは良い考えではありません。このシナリオを検討してください。

  1. セッション1はディレクトリを一時的に変更したいので、現在のディレクトリをプッシュし、後で新しいディレクトリで終了したときにポップすることを期待します。

  2. セッション2は同じことを試みます。

  3. セッション1は、元のディレクトリをスタックからポップしようとしますが、代わりにセッション2のディレクトリを取得します。

これは実際にはあなたの質問に答えませんが、私は説明しようとしていますなぜそうするためのネイティブな方法はありません。あるセッションから別のセッションへのスタックの1回限りの「エクスポート」の場合、最善の策は一時ファイルに書き込んでそれを読み戻すことですが、スタックの同期を維持するための一般的な方法はありません。複数のセッション。

1
chepner