From 3028f648f4946b221b3253f1a011b7a89d951218 Mon Sep 17 00:00:00 2001 From: Michiel Scholten Date: Wed, 21 May 2014 14:02:15 +0200 Subject: [PATCH] Other config: still 256 colour, but now doesn't steal the mouse, features an airline-like statusbar, uses ctrl+a and some other things --- .tmux.conf | 116 +++++++++++++++++++++++++++++------------------------ 1 file changed, 63 insertions(+), 53 deletions(-) diff --git a/.tmux.conf b/.tmux.conf index 2ed9e48..b10938d 100644 --- a/.tmux.conf +++ b/.tmux.conf @@ -1,64 +1,74 @@ -#### COLOUR (Solarized 256) +# Ring the bell if any background window rang a bell +set -g bell-action any -# default statusbar colors -set-option -g status-bg colour235 #base02 -set-option -g status-fg colour136 #yellow -set-option -g status-attr default +# Default termtype. If the rcfile sets $TERM, that overrides this value. +set -g default-terminal screen-256color -# default window title colors -set-window-option -g window-status-fg colour244 #base0 -set-window-option -g window-status-bg default -#set-window-option -g window-status-attr dim +# Keep your finger on ctrl, or don't +bind-key ^D detach-client -# active window title colors -set-window-option -g window-status-current-fg colour166 #orange -set-window-option -g window-status-current-bg default -#set-window-option -g window-status-current-attr bright +# Create splits and vertical splits +bind-key v split-window -h +bind-key ^V split-window -h +bind-key s split-window +bind-key ^S split-window -# pane border -set-option -g pane-border-fg colour235 #base02 -set-option -g pane-active-border-fg colour240 #base01 +# Pane resize in all four directions using vi bindings. +# Can use these raw but I map them to shift-ctrl- in iTerm. +bind-key J resize-pane -D +bind-key K resize-pane -U +bind-key H resize-pane -L +bind-key L resize-pane -R -# message text -set-option -g message-bg colour235 #base02 -set-option -g message-fg colour166 #orange +# Use vi keybindings for tmux commandline input. +# Note that to get command mode you need to hit ESC twice... +set -g status-keys vi -# pane number display -set-option -g display-panes-active-colour colour33 #blue -set-option -g display-panes-colour colour166 #orange - -# clock -set-window-option -g clock-mode-colour colour64 #green - -# improve colors -set -g default-terminal "screen-256color" - -# remove administrative debris (session name, hostname, time) in status bar -#set -g status-left '' -#set -g status-right '' - -# act like vim +# Use vi keybindings in copy and choice modes setw -g mode-keys vi -bind h select-pane -L -bind j select-pane -D -bind k select-pane -U -bind l select-pane -R -bind-key -r C-h select-window -t :- -bind-key -r C-l select-window -t :+ -# mouse behaviour -set -g mode-mouse on -set -g mouse-select-pane on -set -g mouse-resize-pane on -set -g mouse-select-window on +# easily toggle synchronization (mnemonic: e is for echo) +# sends input to all panes in a given window. +bind e setw synchronize-panes on +bind E setw synchronize-panes off -# Make copy-paste work -#set -g default-command "reattach-to-user-namespace -l bash" +# set first window to index 1 (not 0) to map more to the keyboard layout... +set-option -g base-index 1 +set-window-option -g pane-base-index 1 -# Setup 'v' to begin selection as in Vim -bind-key -t vi-copy v begin-selection -bind-key -t vi-copy y copy-pipe "reattach-to-user-namespace pbcopy" +# color scheme (styled as vim-powerline) +set -g status-left-length 52 +set -g status-right-length 451 +set -g status-fg white +set -g status-bg colour234 +set -g pane-border-fg colour245 +set -g pane-active-border-fg colour39 +set -g message-fg colour16 +set -g message-bg colour221 +set -g message-attr bold +#set -g status-left '#[fg=colour235,bg=colour252,bold] ❐ #S #[fg=colour252,bg=colour238,nobold]⮀#[fg=colour245,bg=colour238,bold] #(whoami) #[fg=colour238,bg=colour234,nobold]⮀' +set -g status-left '#[fg=colour235,bg=colour252,bold] ❐ #S #[fg=colour252,bg=colour238,nobold]#[fg=colour245,bg=colour238,bold] #(whoami) #[fg=colour238,bg=colour234,nobold]' +set -g window-status-format "#[fg=colour235,bg=colour252,bold] #I #W " +#set -g window-status-current-format "#[fg=colour234,bg=colour39]⮀#[fg=black,bg=colour39,noreverse,bold] #I: #W #[fg=colour39,bg=colour234,nobold]⮀" +set -g window-status-current-format "#[fg=colour234,bg=colour39]#[fg=black,bg=colour39,noreverse,bold] #I: #W #[fg=colour39,bg=colour234,nobold]" -# Update default binding of `Enter` to also use copy-pipe -unbind -t vi-copy Enter -bind-key -t vi-copy Enter copy-pipe "reattach-to-user-namespace pbcopy" +# Patch for OS X pbpaste and pbcopy under tmux. +#set-option -g default-command "which reattach-to-user-namespace > /dev/null && reattach-to-user-namespace -l $SHELL || $SHELL" + +# Screen like binding +unbind C-b +set -g prefix C-a +bind a send-prefix + +# No escape time for vi mode +set -sg escape-time 0 + +# Screen like binding for last window +unbind l +bind C-a last-window + +# Bigger history +set -g history-limit 10000 + +# Local config +if-shell "[ -f ~/.tmux.conf.user ]" 'source ~/.tmux.conf.user'