Настройка размеров разделенной панели экрана в tmux

53

Я хотел бы изменить размеры панелей, чтобы я мог расширять / сжимать размеры панелей (вверх / вниз / влево / вправо и т. Д.) ..

Есть ли способ сделать это?

Prashant
источник

Ответы:

68

Предполагая, что ваш префикс-ключ по-прежнему по умолчанию - Ctrl-B
^ B: resize-p -D 2
^ B: resize-p -U 2
^ B: resize-p -L 2
^ B: resize-p -R 2
Числа в конце необязательны, по умолчанию 1. Значение -U также является значением по умолчанию и не требуется.

Если ты когда-нибудь забудешь это, ^ B? покажет эти найденные значения C-Up и C-Down и C-Left и C-Right в конце клавиш (с привязками клавиш по умолчанию).

Вы также можете попробовать нажать Ctrl + B, а затем Ctrl + клавиши со стрелками.
Тем не менее, обратите внимание, что Ctrl-стрелки-клавиши могут быть проблематичными на некоторых терминалах. Таким образом, вы можете либо попытаться устранить ограничения терминала, либо создать новые привязки сочетаний клавиш, либо просто не использовать сочетания клавиш и использовать более длинные команды, показанные выше.

TOOGAM
источник
44
На моем MacBook по умолчанию я могу использовать Ctrl+B, затем Esc + (arrow key).
Джеймс М. Лей
3
@ JamesM.Lay О, да, это тоже работает, но как, если я хочу добавить 2 или больше размера? потому что esc + (arrow)работать только один раз, после этого я должен использовать Ctrl+Bзатем снова применить esc + (arrow).
Адият Мубарак
5
@AdiyatMubarak Вам не придется использовать Ctrl+Bснова, если вы нажмете Esc + (arrow)в быстрой последовательности. Согласитесь, это не очень удобно, но работает.
th3an0maly
2
@ Джеймс М. Лей альтернативно Ctrl+Bи M-(arrow)работает для меня. Обычно altи Escоба отправляютMeta
oLas
Ctrl+Bи затем продолжайте optionнажимать, нажимая клавишу со стрелкой, сколько бы раз мне ни понадобилось, это работает для меня.
Юсюань Чен
41

Одним из вариантов изменения размеров панелей является использование мыши. Для этого добавьте эти строки в ваш .tmux.conf:

set -g mode-mouse on
set -g mouse-resize-pane on

Если вы работаете на Mac и выше не работает, используйте это вместо ( источник ):

set-option -g mouse on

Когда этот режим включен, просто нажмите и перетащите на разделители панели, чтобы изменить их размер.

Бен
источник
3
set -g mouse on #for newer versions
Любит Вероятность
Моя жизнь просто изменилась! Это работает на моем экземпляре Ubuntu в WSL (Windows Subsystem for Linux) ... о, но теперь я не могу вставлять с правой кнопкой мыши больше. Linux на Windows по-прежнему неловко.
мерцание
21

Я просто добавил следующие строки в мой файл tmux.conf

bind j resize-pane -D 10
bind k resize-pane -U 10
bind l resize-pane -L 10
bind h resize-pane -R 10

и теперь я могу использовать Ctrl-a (мой префиксный ключ) с [h | j | k | l], чтобы изменить размеры панелей

Prashant
источник
1
И теперь я не могу использовать клавиши h | j | k | l
subhojit777
1
@ subhojit777 .. Вы все еще должны иметь возможность использовать клавиши [h | j | k | l]. Помните, что для изменения размера панелей tmux вам все равно нужно добавить префиксную клавишу (по умолчанию это Ctrl-b. Ctral-a был моим переопределением), прежде чем нажимать эти клавиши. Кроме того, у вас всегда есть возможность изменить привязку на то, что вы хотите ... смысл был в том, чтобы люди знали о сохранении ее в файле tmux.conf
Prashant
Вы должны поменять местами lс hиметь VI привязок.
Хендрик
11

Предполагая, что вашим префиксом является клавиша Ctrl-B (Cmd-B на Mac):

  1. Нажмите Ctrl-B и отпустите
  2. Нажмите и удерживайте Meta (опция на Mac)
  3. Удерживая Meta, нажимайте клавиши со стрелками несколько раз, чтобы изменить размер текущей панели.

Однако кажется, что есть некоторый тайм-аут, поэтому, если вы не нажмете клавишу со стрелкой, удерживая Meta в течение 1 или 2 секунд, Meta- {arrow} будет считаться вводом в текущем приглашении.

jetpack_guy
источник
Это легче всего запомнить, но иногда это занимает слишком много времени. Можно ли изменить, насколько каждое нажатие клавиши со стрелкой увеличивает размер панели?
Коннербоде
7

Я просто обнаружил другой способ. Очевидно, tmuxесть два разных типа нажатия клавиш (при условии, что ваш префиксный ключ все еще Ctrlb)

  1. Нажмите Ctrlb, поднимите пальцы, затем нажмите одну из arrowклавиш. Это переключает фокус.
  2. Нажмите Ctrlb, не поднимайте пальцы, а затем нажмите одну из arrowклавиш одновременно. Это изменяет размеры панелей, и я думаю, это быстрее, чем любой другой метод.

Аналогичным образом, Ctrlboтакже имеет другое поведение. Первый тип нажатия клавиш переключает фокусировку, а второй вид нажатия клавиш переключает панели.

nikhilweee
источник
Хорошая работа по поиску примера "работает из коробки".
Облако