tmux ステータス行と現在のパス形式

tmux ステータス行と現在のパス形式

マルチプレクサ#{pane_current_path}ステータスバーには、現在のウィンドウの名前として使用できるオプションがあります。これは素晴らしいですが、私には2つの欠点があります。

  1. $HOMEと表示されません~
  2. 最後のディレクトリ名だけが必要で、必要はありません/。たとえば、または/home/ook/thingy/srcでのみ表示されます。src~/t/src

お持ちですか?マルチプレクサこれを行うコマンドは何ですか?

一緒に使うとボーナスポイント電源ケーブルしかも。

ベストアンサー1

私はあなたが望むものに似たものを使用しています。

setw -g window-status-format "#[underscore]#{?#{==:#{window_panes},1},,+}#[bold]#W#[nobold]:#{=|-24|…;s|$HOME|~|:pane_current_path}"

pane_current_path損傷に焦点を当てるために少し単純化しました。

"#{=|-24|…;s|$HOME|~|:pane_current_path}"

これにより、ホームディレクトリが変更され、~右端の24文字を除くすべての文字が削除されます。しかし、このようにして、私は~長い道のりの先頭が取り除かれたことに気づきました。

パスの葉のみ:

"#{s|$HOME|~|;s|.*/||:pane_current_path}"

当時は最初に家にいるときに代わりに~表示されるように交換項目を入れました。~<username>

したがって、あなたの例に近づくには~/t/src

"#{s|$HOME|~|;s|/.*/|/…/|:pane_current_path}"

としてレンダリングされます~/…/src。修正されたパターンとaaの逆参照を使用して#{=より近づくことができますが、すべてが正しいかどうかはわかりません。

おすすめ記事