After searching through, I figured ctrl+b ( PREFIX ) then ctrl + arrow should resize the current pane. But it is not working. Am I missing anything ?
Thanks.
Super User is a question and answer site for computer enthusiasts and power users. It only takes a minute to sign up.
Sign up to join this communityAfter searching through, I figured ctrl+b ( PREFIX ) then ctrl + arrow should resize the current pane. But it is not working. Am I missing anything ?
Thanks.
Probably your terminal is not sending a (distinct) sequence when you hold Control and press an arrow key.
Try running cat
and typing the keys into it (Control-C to quit). You will probably find that (e.g.) Up and Control-Up both generate the same sequence.
In its default configuration the OS X Terminal application sends the sequence ^[[A
(or ^[OA
) whether you type Up or Control-Up (also any combination with Shift and Option, too).
However, you can reconfigure Terminal to send appropriate codes. It is a bit tedious, but you usually only have to do it once.
click the plus button to add a new binding
control
Send Text:
action\033
) followed by [1;5
and one more character:
A
for Up,B
for Down,C
for Right, orD
for LeftFor example, the final sequence for Control-Up should end up looking like \033[1;5A
.
These sequences are the ones that XTerm generates (see the ctlseqs documentation for details).
Repeat the last step for the other arrow keys.
iTerm 2 sends the expected sequence by default.
cat
to see keyboard events
Nov 29, 2013 at 15:37
xterm-keys
enabled for that tmux window; you may want to set -gw xterm-keys on
.
Apr 27, 2015 at 21:21
You can use the meta key instead of the control key in the ctrl-↑ and ctrl-↓ combinations. In OSX Terminal the default meta key is the escape key. For example, to increase the size of a pane type ctrl-b esc-↑.
I find the escape key a pain to reach so I use the option key as the meta key instead. In Terminal.app you can change it by going to Terminal > Preferences > Profiles > Keyboard : check the "Use Option as Meta Key".
Now you can type ctrl-b option-↑ to increase the size or ctrl-b option-↓ to decrease the size and you don't have to remap the mission control keys.
On at least Mavericks and iTerm2, you have to hold Control
, then press b
(instead of holding), then hold down a directional button. This sends pretty much the same sequences as holding down Control
-b
with a directional button so it works.
Also, make sure to head over to keyboard settings and in shortcuts tab disable any mission control and such keyboard shortcuts you may have for Control
plus a directional key.
By default Mac OS has Mission Control shortcuts bound to ctrl+arrows, and they take precedence over the Tmux controls. I do not use these shortcuts on Mac anyway, so I just turned them off in keyboard settings, and now the Tmux controls work as expected:
Open the tmux.conf file and edit it with vi:
vi ~/.tmux.conf
Insert these lines:
set -g mouse on
set -g mouse-select-window on
set -g mouse-select-pane on
set -g mouse-resize-pane on
Press "Esc" and "ZZ" to save your changes.
Now you can resize the panes using the mouse.
tmux source-file ~/.tmux.conf
then, so the config is applied. However, only the first one seems enough.
Ctrl
+b
then :
to enter command, then write set -g mouse on
. On a mac it helps because you want to turn the mouse off after the resize to be able to select text using it.
tmux
had mouse support. Mind blown! As of version 2.1 looks like set -g mouse on
is all you need. stackoverflow.com/a/33336609/987968
Feb 24, 2022 at 1:40
I added the following key bindings to ~/.tmux.conf
to resize with Ctrl
+ hjkl
:
bind -n C-k resize-pane -U 5
bind -n C-j resize-pane -D 5
bind -n C-h resize-pane -L 5
bind -n C-l resize-pane -R 5
Then run tmux source-file ~/.tmux.conf
to reload the config.