I don’t remember when I started using tmux, but, the move from screen to tmux was quick. I have it installed on all of my systems and VMs. Though I never bothered to have a proper configuration file, it also means that I never used any plugin or other particular configuration. I don’t prefer to use plugins for command line applications much (for example in Vim), as not all systems will have those plugins installed.
While working on OSCP labs, I wished for a way to keep my tmux sessions logged, as that helps to create the report or remember the process in the future. Later, I found IPPSec has a video on their usage of tmux, which includes a plugin to log tmux sessions. I decided to give it a go and created my tmux.conf based on the same.
$ cat ~/.tmux.conf # Remap prefix to screens set -g prefix C-a bind C-a send-prefix unbind C-b # Other values set -g history-limit 100000 set -g allow-rename off # Join windows bind-key j command-prompt -p "Join pane from:" "join-pane -s '%%'" bind-key s command-prompt -p "Send pane to:" "join-pane -t '%%'" # Search mode VI set-window-option -g mode-keys vi bind -T copy-mode-vi y send-keys -X copy-pipe-and-cancel 'xclip -in -selection clipboard' # git clone https://github.com/tmux-plugins/tmux-logging run-shell /opt/tmux-logging/logging.tmux
Following IPPSec, I have also converted the prefix key to Ctrl+a. This change
helps to use another tmux in a remote system, where the default Ctrl+b works
as the prefix key. I have also moved the default search to
vi mode. You can
start selecting text by pressing the spacebar, and then press
y to copy text
to the primary system clipboard, and helps to copy text easily to any other
GUI application. This feature requires
xclip tool from the system packages.
I have also cloned the
tmux-logging repository under
Now, my tmux is working the way I want on my Linux systems and also on the FreeBSD laptop (where I am writing this blog post). Btw, if you search tmux cheatsheet on https://duckduckgo.com it provides a lovely view of the cheat sheet in the result page.