tmux

Why bother customizing tmux?

tmux isn't just for running tasks in servers detached from a session. It can also be a nice tool to have as a developer, specially when taking the following features into consideration: Upstream

Terminal multiplexing can look good >^.^<

Installation

Copy the .tmux.conf file to your home: ~/

Start a new tmux terminal with tmux new

Tap Control + b then I (yes, UPPERCASE) to install all the plugins via tpm plugin manager

Ready to go! >^.^<

Layout restoration

Courtesy of tmux-resurrect, Control + B Control + S to save the current layout, Control + B Control + R to restore the last saved layout. It can be configured to restore particular programs, for example, the provided config file restores vim and neovim, sourcing a Session.vim file if it exists.

More human-friendly keybindings

Changing between panes in the same window is easier with vim-style keybindings

Control + H : go to pane to the left

Control + J : go to pane below

Control + K : go to pane above

Control + L : go to pane to the right

Seamless navigation with vim splits can be achieved with the plugin: vim-tmux-navigator

Splitting panes has more reasonable keybindings (or at least are consistent with my .i3/config :D)

Control + B V: vertical split.

Control + B ;: horizontal split.

TODO

  • Different bar colors when running in a server, perhaps by reading an environment variable?