題 如何在Tmux中交換兩個窗格?


我有兩個橫向分割的窗格。我想讓右邊的窗格顯示在窗口的左側。我不是在談論移動焦點(按Ctrl+  Ø)。我該如何實現這一目標?

'左窗格'< - >'右窗格'


153
2018-02-17 22:27


起源




答案:


swap-pane 命令可以為你做這個。該 { 和 } 鍵是綁定的 swap-pane -U 和 swap-pane -D 在默認配置中。

因此,為了實現您想要的改變,您可以使用 字首  { 當你在右側窗格(或 字首  } 如果你在左側窗格中)。

-U 和 -D 在窗格索引順序中引用“向上”和“向下”(“向上”與方向相同 字首  Ø 跨越窗格)。您可以看到窗格索引 display-panes (字首  q, 默認情況下)。


220
2018-02-18 08:27



+1用於指定 Prefix 而不是假設每個人都會使用 Ctrl-b - Aaron Wallentine
同意。當人們假設你正在使用時,情況會更糟 Ctrl-a因為他們是知道前綴可以改變以適應用戶的人。 - Brandon Ibbotson


你可以打 按Ctrl  b 並繼續壓低 按Ctrl 一邊打 Ø。這將旋轉所有現有窗格,因此在您的情況下,它將交換僅存在的兩個窗格。

按Ctrl  b + Alt鍵  Ø 以相反的方式旋轉(當你有兩個以上的窗格時很有用)。


38
2018-01-02 10:28



是的,我們在同一頁上。但是在第一個'o'之後,它確實導致窗格旋轉,下一個'o'被發送到底層shell並由任何應用程序處理。我正在考慮使用我的地圖,或者某些依賴於tmux版本的東西。謝謝你的回复。 - Stabledog
@Stabledog我目前正在使用tmux 2.3,但我認為這對我來說一直都有用......我真的不能想到會出現什麼問題。聽起來很奇怪 Ctrl+o 被發送到shell而不是tmux,特別是如果不是這種情況反复按下 Ctrl+b (或其他tmux命令?)。 - joelostblom
實際上我認為所有命令都在發生。至少,我不知道有什麼情況我可以做Ctrl + x,點擊一個綁定某些操作的鍵,並保持“tmux鍵盤”模式。我只是假設是設計的。 - Stabledog
@Stabledog實際上,我只是注意到,我可以繼續按住控制並重複其他鍵的唯一其他命令是 Ctrl+b;,繼續在兩個窗格之間旋轉光標。 - joelostblom


您可以擁有的最精確控制是使用該命令 swap-pane  。這不是很難:

  1. ctrl-b q 顯示當前窗口中每個窗格的“ID” - 記住要交換的兩個窗格。讓我們說他們是3和5。
  2. ctrl-b : 激活tmux命令行。然後發出命令 swap-pane -s 3 -t 5

請注意,鍵入命令時您已自動完成。您也可以直接從中搜索命令的語法 tmux manpage。這就是我學習語法的方法 swap-pane


6
2018-03-21 18:50