Take the 2-minute tour ×
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems.. It's 100% free, no registration required.

I have 3 panes in my tmux window:

--------------------------
|             |      2   |
|             |          |
|        1    |----------|
|             |      3   |
|             |          |
--------------------------

Panes 1 and 2 have vim. Pane 3 runs a cli I am developing. Sometimes I want to compare panes 1 and 2, so I want to hide pane 3:

--------------------------
|             |          |
|             |          |
|        1    |       2  |
|             |          |
|             |          |
--------------------------

and then bring back pane 3 again. I don't want to kill pane 3 as I have set up some things there and don't want to go though setting them up again.

  • Is there something similar to PREFIX + z which can zoom pane 2 but without touching pane 1? Or
  • Is there a way to hide pane 3 quickly and bring it up back when needed?
share|improve this question

2 Answers 2

up vote 6 down vote accepted

Use the break-pane and join-pane commands. Refer to man tmux for details, options and usage.


Hide Pane 3:

Select pane 3 and enter Prefix-:break-pane -dP.

tmux will send pane 3 to a window in the background (the -d flag) and print some information about it in pane 2 (the -P flag). By default you'll see something like 1:2.0 (meaning: session:window.pane). Hit q to continue working.1

1With some practice you you will be able to drop the -P flag since you can predict the session:window.pane triplet: session defaults to the current session and pane defaults to 0 while window will be the next free window identifier.

Get Pane 3 back:

To get pane 3 and the layout back, select pane 2 and issue Prefix-:join-pane -vs 1:2.0 telling tmux to split pane 2 vertically (-v) and to join the (source) pane (-s) with identifier 1:2.0. Optionally you can drop either the session or the pane identifier. Note also that tmux stores a command line history, conveniently accessible with Prefix-:-Up.

You'll probably need some time to get the hang of it, but once you do, you'll surely be able to come up with custom key bindings that are convenient for you.


The question Moving tmux window to pane contains some useful information and tricks that might improve your workflow.

share|improve this answer
    
Clear instructions! Works smoothly for me, much better than my answer! –  Bernhard Jul 22 at 8:55

Instead of hiding pane 3, you could also cheat a bit, and make it very small, which will probably also work for your case.

When pane 2 is the active pane you can

PREFIX : resize-pane -D 40

Then, to move it up again, you can either

PREFIX : resize-pane -D 28

where you would have to replace 28 with a decent number, or, instead, you could try PREFIXEsc4, which does automatic resizing.

share|improve this answer
    
I was resizing the pane using set -g mouse-resize-pane on but other than resizing do we have any other option ? –  user881300 Jul 22 at 8:13
    
@user881300 I am not a tmux expert by any means, but I would be curious to learn if this is possible. –  Bernhard Jul 22 at 8:15

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.