From 354c8daffffc73c4caf075a6f4214590a7c83a04 Mon Sep 17 00:00:00 2001 From: Alan Orth Date: Sun, 2 Sep 2012 23:30:09 +0300 Subject: [PATCH] Update tmux config to work more like my screen config Change status format Don't update terminal window titles (X11 term app, not tmux window) Add load averages to status --- .tmux.conf | 126 ++++++++++++++++++++++++++++++++++++++++------------- 1 file changed, 95 insertions(+), 31 deletions(-) diff --git a/.tmux.conf b/.tmux.conf index fc84a6c..9003dfd 100644 --- a/.tmux.conf +++ b/.tmux.conf @@ -1,42 +1,106 @@ -# change command prefix to control-a (like screen) -unbind-key C-b -set-option -g prefix C-a +unbind C-b +set -g prefix ^A +bind a send-prefix -# binds for screen-like behavior -bind-key C-a last-window -bind-key p previous-window -bind-key C-p previous-window -bind-key n next-window -bind-key C-n next-window -bind-key k confirm-before kill-window -bind-key Escape copy-mode -bind-key A command-prompt "rename-window %%" -bind-key a send-prefix # to allow ^a to get to the beginning of the line in bash +# Bind appropriate commands similar to screen. +# lockscreen ^X x +unbind ^X +bind ^X lock-server +unbind x +bind x lock-server -# terminal settings -set-option -g history-limit 4096 -set-window-option -g mode-mouse on -set-window-option -g mode-keys vi +# screen ^C c +unbind ^C +bind ^C new-window +unbind c +bind c new-window -# dynamic window titles -set-option -g set-titles on -set-option -g set-titles-string '#S:#I.#P #W' # window number,program name,active (or not) -set-window-option -g automatic-rename on # auto name +# detach ^D d +unbind ^D +bind ^D detach + +# displays * +unbind * +bind * list-clients + +# next ^@ ^N sp n +unbind ^@ +bind ^@ next-window +unbind ^N +bind ^N next-window +unbind " " +bind " " next-window +unbind n +bind n next-window + +# title A +unbind A +bind A command-prompt "rename-window %%" + +# other ^A +unbind ^A +bind ^A last-window + +# prev ^H ^P p ^? +unbind ^H +bind ^H previous-window +unbind ^P +bind ^P previous-window +unbind p +bind p previous-window +unbind BSpace +bind BSpace previous-window + +# windows ^W w +unbind ^W +bind ^W list-windows +unbind w +bind w list-windows + +# kill K k +unbind K +bind K confirm-before "kill-window" +unbind k +bind k confirm-before "kill-window" + +# redisplay ^L l +unbind ^L +bind ^L refresh-client +unbind l +bind l refresh-client + +# " windowlist -b +unbind '"' +bind '"' choose-window + +# Rather than constraining window size to the maximum size of any client +# connected to the *session*, constrain window size to the maximum size +# of any client connected to *that window*. Much more reasonable. +set-window-option -g aggressive-resize on + +# show the bell in all windows +set-option -g bell-action any +set-option -g visual-bell on # status bar -set-option -g status-utf8 on set-option -g status-justify left set-option -g status-bg blue set-option -g status-fg white -set-option -g status-interval 5 -set-option -g status-left '#[default]' -set-option -g status-right '#[fg=cyan]#(whoami)@#H #[fg=red]#(cut -d " " -f 1-3 /proc/loadavg) #[fg=yellow]%m/%d %R' +set-option -g status-left '' +set-option -g status-right '#[fg=colour47]#H #[fg=red]#(cut -d " " -f 1-3 /proc/loadavg) #[fg=colour227]%Y-%m-%d %H:%M#[default]' -# window settings -set-option -g visual-activity on -set-window-option -g monitor-activity on -set-window-option -g window-status-current-bg red +# terminal messages, like "bell in terminal 1" +set-option -g message-fg black +set-option -g message-bg white + +# Highlight active window set-window-option -g window-status-current-fg white +set-window-option -g window-status-current-bg red +set-window-option -g window-status-bell-attr default +set-window-option -g window-status-bell-fg yellow -# clock -set-window-option -g clock-mode-style 24 +# scrollback buffer +set-option -g history-limit 4096 + +# hijack the TERM variable for shells inside tmux +set-option -g default-terminal "screen-256color"