Tmux
在兩個視窗之間鏡像一個窗格
是否可以在單個 tmux 會話的兩個不同視窗中顯示相同的窗格?
我通常在主視窗中有一個水平分割,頂部窗格中有 vim(大約是終端高度的 80-90%),底部窗格中有一個命令行,我在其中執行我正在處理的程序。因為底部視窗太小,經常看不到錯誤輸出,而且使用 tmux 的快捷鍵回滾也越來越累。我想讓我的第二個視窗附加到同一個窗格,這樣如果我需要查看更多錯誤輸出,我可以快速切換到第二個視窗而無需處理回滾。這可能嗎?
(我想一個備份方案是使用類似 tee 的東西將標準輸出寫入日誌文件並在我的第二個視窗中跟踪它。我希望這不是必需的)
預設情況下,您可以通過按
Prefix
和z
(預設前綴是Ctrl+B
)來切換窗格的“縮放狀態”。這將使目前窗格(例如,您的命令行窗格)佔據整個視窗。再次按
Prefix
和z
以“取消縮放”窗格。
恐怕這是您不能做的事情之一
tmux
(我希望一個窗格顯示在幾個不同大小的空間中的問題是主要原因)。但是,有幾種方法可以解決這個問題 - 所有方法都基於將某些操作綁定到某些組合鍵。由於很大程度上取決於您使用的佈局,因此只需一個帶有您提到的兩個窗格的簡單佈局就可以讓您的生活更輕鬆
rotate-window
- 它只會交換窗格,從而為您提供 80%-90% 的命令輸出(以及 ViM 的小視窗)。break-pane
對比join-pane -v -p <preview_percentage> -t !
pipe-pane
無command
緩衝重定向到命名管道(即使用創建的文件系統節點mkfifo
) - 然後tail -f
在另一個窗格中使用該命名管道。- 將輸出通過管道傳輸到
less
,它也具有以下模式tail
(至少是 GNU 模式)。resize-pane -Z
在較小的面板上將在整個終端上放大它。隨後的取消縮放將使其保持活動狀態,因此需要一些技巧才能使其舒適地工作。