As I wrote in previous post I switched from GNU screen to tmux. I use it for a few moths and have to said that I’m really impressed by simplicity, performance and community support in this project. In this post I want to discuss my configuration and useful additions for it like tmuxinator, session logging, colors or status bar configuration.

Basics Debian contain

tmux package but for stable and testing release it is pretty old version. Personally I use unstable version where tmux was delivered in 1.7~svn2819-1 version. sudo apt-get install tmux To start session simply type

tmux. Tmux uses C-b/ Ctrl-b as a prefix for commands. If you switch from GNU screen then at the beginning you can experience some annoying situations but after few days everything should back to normal. Most used keybiddings: * C-b c – create new window * C-b , – rename current window * C-b n – next window * C-b p – previous window * C-b l – last window * C-b d – disconnect * C-b k – kill current window * C-b K – kill tmux server * C-b [ – enter copy mode * C-b ] – paste last copied buffer * C-b : – tmux command line * C-b w – windows list * C-b ? – help Full list can be found


Configuration Tmux keeps its configuration in

$HOME/.tmux.conf. My configuration mixes some tmux examples with code that I found in the net. This file can be found on my github repository here. First section contain some general configuration: # confirm before killing a window or the server bind-key k confirm kill-window bind-key K confirm kill-server

solarized colors (dark theme): ### COLOUR (Solarized dark)


tmuxinator I spend some time to realize what is the best way of managing windows and panes in tmux. Especially I was interested in setting some windows at tmux startup. Finally I found

tmuxinator small but useful project delivered through gem system. Follow tmuxinator page to set it up correctly. If you want to see my primitive configuration it is also available on my github in werkspace project.

Window logging Last hint I found on this

blog. How to log your work in console for example to write a blog post 馃檪 ? There is a universal method for piping all console output to our program of choice. For example run command like this (command mode available under C-b :): pipe-pane -o ‘cat >> ~/tmuxcast.#h.#T’ This will give you file with logged session output (all curses windows, editor windows and so on). Curses output can be unreadable because of control escape sequences. Use

cat it will interpret escape sequences in terminal. As always I hope hints were useful. Please share this content if think its valuable. Comment if you think id needs improvements. Thank you for reading. P.S. I should probably create a footer with last paragraph 馃檪