2012-01-12 99 views
10

我想知道是否可以在tmux中配置窗格以顯示在所有窗口中。在tmux中的所有窗口中顯示窗格

任何提示如何做到這一點?

+0

有在[郵件列表]上相關的線程(https://lists.sourceforge.net/lists/listinfo/tmux-users)前一陣子:「不,不可能,窗格只能在一個窗口中。「](http://thread.gmane.org/gmane.comp.terminal-emulators.tmux.user/2490/focus=2491)。 – 2012-04-28 05:18:08

回答

3

不,您不能將窗格配置爲與傳統意義上的每個窗口鏈接,但您可以使用tmux的link-window功能來實現大部分此效果。將其封裝在腳本或tmux會話文件中以將其一次鏈接到多個窗口。

**編輯

你也想使用join-pane功能。

3

當然這是可能的,但您需要在tmux窗格中運行tmux。

+-------------+-------------+ 
| tmux pane 1 | tmux pane 2 | 
|    |    | 
|    |+-----------+| 
|    || new tmux || 
|    || session || 
|    |+-----------+| 
+-------------+-------------+ 

如何做到這一點:

  1. 啓動新TMUX會議
  2. 拆分窗格
  3. 在窗格2#
  4. unset TMUX這使得TMUX在TMUX
  5. 在窗格
  6. 啓動新TMUX會議
  7. 重複1-3
  8. 運行tmux attach -t <target-session>#這是打開共享會話

如果您正在運行tmux的包裝器,例如帶有oh-my-zsh或tmuxinator的包裝器,這並不容易。可能有很多原因,你不應該這樣做,我只是不知道他們中的任何一個。

+0

這是最符合我需求的答案。然而,它有一個缺點:如果你殺掉了在tmux中附加了「tmux session」的服務器,它也會終止連接的會話:( – Werner 2016-09-23 08:21:02

+0

@Werner殺死服務器殺死所有tmux會話,連接和分離。 – 2016-09-24 13:22:09

+0

沒有殺死tmux服務器,而是根據你指示的那樣連接了附加窗格。會話中被連接的窗格會話正在被殺死,他們會自己殺死它們。 – Werner 2016-09-29 00:42:29

2

這是一種方法,但鏡像窗格將是隻讀的。有pipe-pane命令將窗格的輸出發送到命令。您可以讓該命令將輸出寫入文件,然後從要鏡像的窗格中,您可以tail -f該文件。例如:

# In source pane 
tmux pipe-pane 'cat > /tmp/asdf' 

# In the target pane (or another tmux session or terminal window) 
tail -f /tmp/asdf 
+0

Dude,這是迄今爲止我看到的最好的解決方案。通過在尾部添加'clear',例如'clear && tail -f/tmp/asdf',它改善了你的答案。 – Werner 2016-09-29 00:42:49

相關問題