tmux-pain-control

by tmux-plugins

tmux-plugins / tmux-pain-control

standard pane key-bindings for tmux

493 Stars 49 Forks Last release: Not found MIT License 37 Commits 3 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:

Tmux Pain Control

Tmux plugin for controlling panes. Adds standard pane navigation bindings.

So far, you had to google around and comb other people's dotfiles to find these. This plugin hopefully makes them more available and "more standard".

Thanks to the Tmux community for "inventing" these bindings. I've merely just copied them here.

Tested and working on Linux, OSX and Cygwin.

Bindings

Notice most of the bindings emulate vim cursor movements.

pane navigation

Navigation

  • prefix + h
    and
    prefix + C-h

    select pane on the left
  • prefix + j
    and
    prefix + C-j

    select pane below the current one
  • prefix + k
    and
    prefix + C-k

    select pane above
  • prefix + l
    and
    prefix + C-l

    select pane on the right


Note: This overrides tmux's default binding for toggling between last active windows,

prefix + l
. tmux-sensible gives you a better binding for that,
prefix + a
(if your prefix is
C-a
).



pane resizing

Resizing panes

  • prefix + shift + h

    resize current pane 5 cells to the left
  • prefix + shift + j

    resize 5 cells in the down direction
  • prefix + shift + k

    resize 5 cells in the up direction
  • prefix + shift + l

    resize 5 cells to the right

These mappings are

repeatable
.

The amount of cells to resize can be configured with

@pane_resize
option. See configuration section for the details.



pane splitting

Splitting panes

  • prefix + |

    split current pane horizontally
  • prefix + -

    split current pane vertically
  • prefix + \

    split current pane full width horizontally
  • prefix + _

    split current pane full width vertically

Newly created pane always has the same path as the original pane.






Swapping windows

  • prefix + <
    - moves current window one position to the left
  • prefix + >
    - moves current window one position to the right

Installation with Tmux Plugin Manager (recommended)

Add plugin to the list of TPM plugins in

.tmux.conf
:
set -g @plugin 'tmux-plugins/tmux-pain-control'

Hit

prefix + I
to fetch the plugin and source it.

You should now have all

pain-control
bindings defined.

Manual Installation

Clone the repo:

$ git clone https://github.com/tmux-plugins/tmux-pain-control ~/clone/path

Add this line to the bottom of

.tmux.conf
:
run-shell ~/clone/path/pain_control.tmux

Reload TMUX environment:

# type this in terminal
$ tmux source-file ~/.tmux.conf

You should now have all

pain-control
bindings defined.

Configuration

You can set

@pane_resize
Tmux option to choose number of resize cells for the resize bindings. "5" is the default.

Example:

set-option -g @pane_resize "10"

Other plugins

You might also find these useful:

  • sessionist - lightweight tmux utils for switching and creating sessions
  • logging - easy logging and screen capturing

License

MIT

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.