tmux-config

:green_book: Example tmux configuration - screen + vim key-bindings, system stat, cpu load bar.

2 years after

Tmux is a terminal multiplexer. Tested with tmux 1.5+.

This config has support for tmux-mem-cpu-load.

Prefix mapped to Ctrl-Q

Installation

Download:

git clone https://github.com/tony/tmux-config.git ~/.tmux

Copy tmux config to home:

ln -s ~/.tmux/.tmux.conf ~/.tmux.conf

Go to config dir:

cd ~/.tmux

Stats

tmux-mem-cpu-load

Works on Linux and OS X.

Prep ourself to download submodule:

git submodule init

Download submodule:

git submodule update

Change dir to tmux-mem-cpu-load:

cd ~/.tmux/vendor/tmux-mem-cpu-load

General make file:

cmake .

Compile our binary:

make

Install our binary to /usr/local/bin/tmux-mem-cpu-load:

sudo make install

Go home:

cd ~

Launch tmux:

tmux

And press Control + a then d to go back to the terminal.

Update config:

tmux source-file ~/.tmux.conf

basic-cpu-and-memory.tmux

(Cross platform, tested with python 2.7+)

Update March 19, 2014. Works with psutil 2.0 now.

Install psutil:

sudo pip install psutil

copy ~/.tmux/vendor/basic-cpu-and-memory.tmux to bin:

sudo cp ~/.tmux/vendor/basic-cpu-and-memory.tmux /usr/local/bin/tmux-mem-cpu-load

make executable:

sudo chmod +x /usr/local/bin/tmux-mem-cpu-load

Powerline (Advanced)

You can add suport for powerline by adding these to your ~/.tmux.conf. Be sure to grab and install powerline-fonts for your system.

See Powerline on ReadTheDocs.org for more info.

# pip install --user git+git://github.com/powerline/powerline
if-shell 'test -f ~/.local/lib/python2.7/site-packages/powerline/bindings/tmux/powerline.conf' 'source-file ~/.local/lib/python2.7/site-packages/powerline/bindings/tmux/powerline.conf'

# [sudo] pip install git+git://github.com/powerline/powerline
if-shell 'test -f /usr/local/lib/python2.7/site-packages/powerline/bindings/tmux/powerline.conf' 'source-file /usr/local/lib/python2.7/site-packages/powerline/bindings/tmux/powerline.conf'

# [sudo] pip install git+git://github.com/powerline/powerline
if-shell 'test -f /usr/local/lib/python2.7/dist-packages/powerline/bindings/tmux/powerline.conf' 'source-file /usr/local/lib/python2.7/dist-packages/powerline/bindings/tmux/powerline.conf'
# using python3.3
if-shell 'test -f /usr/local/lib/python3.3/dist-packages/powerline/bindings/tmux/powerline.conf' 'source-file /usr/local/lib/python3.3/dist-packages/powerline/bindings/tmux/powerline.conf'
# python 3.4?
# if-shell 'test -f /usr/local/lib/python3.4/dist-packages/powerline/bindings/tmux/powerline.conf' 'source-file /usr/local/lib/python3.4/dist-packages/powerline/bindings/tmux/powerline.conf'

Start tmux

To start a session:

tmux

To reattach a previous session:

tmux attach

To reload config file

<Control + b>: (which could Ctrl-B or Ctrl-A if you overidden it) then source-file ~/.tmux.conf

Commands

Our prefix/leader key is Control + q now. This sequence must be typed before any tmux shortcut.

  • Control + q before any command
  • Control + q then ? to bring up list of keyboard shortcuts
  • Control + q then | to split window
  • Control + q then <Space> to change pane arrangement
  • Control + q then o to rotate panes
  • Control + q then h, j, k, l to move left, down, up, right. Respectively. (vim hjkl)
  • Control + q then ; to go to last panel

Beyond your first window:

  • Control + q then c to create a new window
  • Control + q then n to next window
  • Control + q then p to previous window
  • Control + q then [0-9] move to window number
  • Control + q then & to kill window

Custom:

  • Control + q then m to switch to main-horizontal layout with the main window at 60% height.

More configs / Tools

  • Save / Load your tmux workspaces through JSON or YAML with tmuxp.
  • Clone + Synchronize your git / hg / svn projects through JSON / YAML with vcspull.
  • Modular, Lazy-loading vim configuration with support for C, C++, Python, Go and Javascript with tony/vim-config
  • Modular dot-config example tony/.dot-config

Other

Related Repositories

dot-files

dot-files

:zap: Well documented, terminal centric web developer's dot files. Neovim, Zsh, ...

tmux-xpanes

tmux-xpanes

Ultimate terminal divider powered by tmux. ...

awesome-tmux

awesome-tmux

A list of awesome resources for tmux ...

.dot-config

.dot-config

:books: Example dot configs for tmux, tmuxp, vim, vcspull, i3 and awesome ...

k-tmux

k-tmux

tmux.conf ...