Show me your tmux.conf

- Unix

tmux est un multiplexeur de terminal, je l'ai découvert il y a un mois environ et aujourd'hui avec le recul je me demande encore comment je faisais pour vivre sans...
En effet, pour moi tmux n'est pas un soft qui va me faire gagner du temps, mais plutot un soft qui ne va pas m'en faire perdre. Tmux est le successeur de `screen`.

Je vais pas trop broder autour de `tmux`, c'est vraiment une killer-app et vu que c'est super simple à installer, vous devriez vraiment tenter l'expérience. En gros, vous créez un ou des sessions qui contiennent des fenêtres, des panes et tmux permet de restaurer ces sessions.
C'est vraiment génial, vous devriez essayer en plus c'est super facile à installer :

$> apt-get install tmux # pour debian et ubuntu
$> brew install tmux # pour OS X

Fini l'introduction, voici à quoi ressemble mon terminal

Capture de mon Terminal avec tmux
Cliquez pour voir en grand

Et voici mon fichier de configuration :

#------------------------------------------------------------------------------
#   DEFAULT CONFIGURATION
#------------------------------------------------------------------------------
# default colors configuration (needed for vim)
set -g default-terminal "screen-256color"

# use your mouse to select pane
set -g mouse-select-pane on

# enable scroll with the mouse
set-option -g mouse-select-window on
set -g mode-mouse on

# not sure what these settings are for
set-option -g status-keys vi
set-window-option -g mode-keys vi

# windows starts at 1
set -g base-index 1

# display messages for a second
set -g display-time 1000

# prevent tmux to rename windows
set -g set-titles off
setw -g automatic-rename off

# Set window notifications
set-window-option -g monitor-activity on
set -g visual-activity on

#------------------------------------------------------------------------------
#   SHORTCUT
#------------------------------------------------------------------------------
# changing default prefix to CTRL+x
set -g prefix C-x
unbind C-b
bind C-x send-prefix

# reload .tmux.conf file
bind r source ~/.tmux.conf

# ctrl+left/right cycles thru windows
bind-key -n C-right next
bind-key -n C-left prev

# alt+directions navigates through panes
bind-key -n M-left select-pane -L
bind-key -n M-right select-pane -R
bind-key -n M-up select-pane -U
bind-key -n M-down select-pane -D

# quit tmux
bind \ kill-server

#------------------------------------------------------------------------------
#   COLOURS
#------------------------------------------------------------------------------
# color0    == black
# color15   == white
# color124  == red
# color240  == gray
# color250  == lightgray
#------------------------------------------------------------------------------

#------------------------------------------------------------------------------
#   PANE
#------------------------------------------------------------------------------
# not active pane separator
set -g pane-border-fg colour244
set -g pane-border-bg default
# active pane separator
set -g pane-active-border-fg colour124
set -g pane-active-border-bg default

#------------------------------------------------------------------------------
#   STATUSBAR
#------------------------------------------------------------------------------
# default statusbar colors
set -g status-fg colour235
set -g status-bg colour250
set -g status-attr dim

# current or active window in status bar
set-window-option -g window-status-current-fg colour15
set-window-option -g window-status-current-bg colour0
set-window-option -g window-status-current-format ' #W '

# alerted window in status bar. Windows which have an alert (bell, activity or content).
set-window-option -g window-status-alert-fg colour124
set-window-option -g window-status-alert-bg colour15

# command/message line colors
set -g message-fg colour15
set -g message-bg colour124
set -g message-attr dim

# left side of status bar
set -g status-left-length 30
set -g status-left ' #S | #(hostname | cut -d. -f 1) '
 
# right side of status bar
set -g status-right-length 30
set -g status-right '%Y-%m-%d | %H:%M '

# status bar options
set-option -g status-justify centre                       # alignment of windows
set-window-option -g window-status-format ' #W '          # Inactive windows in status bar

La seule chose que j'ai changé c'est le préfix, j'utilise `control+x`, car je ne lui ai pas trouvé de conflit avec d'autre fonctionnalité du Terminal. Mis à part cette modification, je n'ai rien changé à la configuration par défaut de tmux, j'ai ajouté le déplacement dans les fenêtre `control+flèches` et la navigation dans les panes se fait avec `alt+flèches`.

Et vous à quoi ressemble votre `.tmux.conf` ?