Как добавить горизонтальное разделение в окно tmux, которое охватывает всю ширину родительского окна?

29

Когда у меня окно tmux вертикально разделено на две панели, как я могу создать новую третью горизонтальную панель, которая простирается на всю ширину?

Например, как я могу получить из этого:

Ctr-b %

+–––––––––+–––––––––+
|         |         |
|         |         |
|         |         |  
|         |         |
|         |         |
+–––––––––+–––––––––+

к этому?

Ctr-b %
Ctr-b ...что теперь?

+–––––––––+–––––––––+
|         |         |
|         |         |
|         |         |  
|         |         |
|         |         |
+–––––––––+–––––––––+
|                   |
|                   |
+–––––––––––––––––––+

вместо этого?

Ctr-b %
Ctr-b "

+––––––––+––––––––––+
|        |          |
|        |          |  
|        |          |
|        |          |
|        |          |
|        +––––––––––+
|        |          |  
|        |          |
+––––––––+––––––––––+

Примечание: я не хочу перебирать все возможные комбинации макетов, Ctr-b Spaceчтобы в конечном итоге добраться до нужного макета - это должно быть достигнуто с максимально возможной краткостью.

jottr
источник
Удивительно, что это не решенная проблема. Все приведенные ниже ответы совершенно бесполезны и не
отвечают на

Ответы:

17

Вы можете использовать один из пяти предустановленных режимов макета (мозаичный) для достижения этой цели. Начиная с начальной точки (одиночного вертикального разделения), откройте новую панель, которая по умолчанию разделит активную панель, а затем поместит панели в плиточный режим:

Ctrlb,Alt5

От man tmux:

M-1 до M-5 Расположите панели в одной из пяти предустановленных компоновок: четная горизонтальная, четная вертикальная, основная горизонтальная, основная вертикальная или мозаичная.

Вы можете по желанию добавить select-layout tiledк связке клавиш в вашем, .tmux.confесли это был макет, который вы хотели регулярно.

jasonwryan
источник
Я плакал, когда узнал, что tmuxимеет предустановки после многих лет его использования.
ДенисКолодин
Какие клавиши вы нажимаете на Mac? Ctrl b, Option 5не работает для меня.
Лев Галлегуйос
18

Получите более новую версию tmux (как минимум 2.3).

Со страницы руководства:

-fОпция создает новую панель , охватывающую всю высоту окна (с -h) или всю ширину окна (с -v), вместо расщепления активной панели.

nabin-инфо
источник
хороший ответ, но один или два примера были бы наиболее показательными
dbkeys
5

tmux 2.3 поддерживает -fкоммутатор, split-windowкоторый делает именно то, что вы ищете:

Параметр -f создает новую панель, охватывающую полную высоту окна (с -h) или полную ширину окна (с -v), вместо разделения активной панели.

ThiefMaster
источник
3

Старый вопрос, но хотел бы добавить, если вы хотите использовать макет часто, вы можете использовать

   tmux list-windows

чтобы дать вам текущий макет (это будет как строка c904,273x74,0,0{81x74,0,0[81x29,0,0,1,81x21,0,30,2,81x22,0,52,3],191x74,82,0,0})

Затем передайте эту строку, select-layoutчтобы применить ее. Ищите select-layoutв справочной странице для получения дополнительной информации.

Николас Галлер
источник
это отличное дополнение!
user2297550
2

Если вы хотите создать новую третью горизонтальную панель, которая простирается на всю ширину, я предлагаю вам попробовать это

Ctrl-B "

или пролистать

Ctrl-b пробел

kmassada
источник
Благодарим за ваше предложение. Хотя я не хочу перебирать все возможные макеты, а просто создаю третью панель с желаемым макетом и положением. Но, возможно, ваше предложение - единственно возможное решение для достижения этой цели (что, я надеюсь, не так :)
jottr
@elementz сделал двойные кавычки ctrl-b?
kmassada
Нет. Это ctr-b "создает то, что вы можете видеть в моем третьем примере выше.
Jottr
1

Ctrl + B затем "(двойные кавычки), чтобы разбить на два горизонтальных окна

Ctrl + B «o», чтобы переключиться обратно в верхнее окно (проверьте курсор, который скажет вам, где вы находитесь)

Ctrl + B, затем% (Shift + 5), чтобы разбить верхнее окно

Это должно работать с привязками клавиш по умолчанию.

Hachya
источник
4
Спасибо за попытку ответить на мой вопрос, но отправной точкой является НЕ чистый лист, а уже вертикально разделенное окно.
Jottr