diff --git a/.tmux.conf b/.tmux.conf new file mode 100644 index 0000000..4523592 --- /dev/null +++ b/.tmux.conf @@ -0,0 +1,112 @@ +# use UTF8 +set -g utf8 +set-window-option -g utf8 on + +## make tmux display things in 256 colors +set -g default-terminal "screen-256color" + +## set scrollback history to 10000 (10k) +set -g history-limit 10000 + +## set Ctrl-a as the default prefix key combination +## and unbind C-b to free it up +set -g prefix C-a +unbind C-b + +## use send-prefix to pass C-a through to application +bind C-a send-prefix + +## shorten command delay +set -sg escape-time 1 + +## set window and pane index to 1 (0 by default) +#set-option -g base-index 1 +#setw -g pane-base-index 1 + +## reload ~/.tmux.conf using PREFIX r +bind r source-file ~/.tmux.conf \; display "Reloaded!" + +## use PREFIX | to split window horizontally and PREFIX - to split vertically +bind | split-window -h +bind - split-window -v + +## Make the current window the first window +bind T swap-window -t 1 + +## Titles +set-option -g set-titles on +set-option -g set-titles-string '#H:#S.#I.#P #W #T' # window number,program name, active(or not) + +## Tab through active windows +bind Tab next-window + +## map Vi movement keys as pane movement keys +bind h select-pane -L +bind j select-pane -D +bind k select-pane -U +bind l select-pane -R +set-option -g display-panes-active-colour colour2 +set-option -g display-panes-colour colour1 + +## resize panes using PREFIX H, J, K, L +bind H resize-pane -L 5 +bind J resize-pane -D 5 +bind K resize-pane -U 5 +bind L resize-pane -R 5 + +## ---------------------- +## set some pretty colors +## ---------------------- +## set pane colors - hilight the active pane +set -g pane-border-bg colour0 +set -g pane-border-fg colour1 +set -g pane-active-border-bg colour8 +set -g pane-active-border-fg colour2 + +## colorize messages in the command line +set-option -g message-bg colour0 +set-option -g message-fg colour9 + +#set inactive/active window styles +set -g window-style 'fg=colour247,bg=colour236' +set -g window-active-style 'fg=colour250,bg=black' + +# set the pane border colors +#set -g pane-border-fg colour250 +#set -g pane-border-bg colour236 +#set -g pane-active-border-fg colour250 +#set -g pane-active-border-bg colour250 + +## ---------------------- +## Status Bar +## ----------------------- +set-option -g status on # turn the status bar on +set -g status-utf8 on # set utf-8 for the status bar +set -g status-interval 5 # set update frequencey (default 15 seconds) +set -g status-justify centre # center window list for clarity + +## visual notification of activity in other windows +setw -g monitor-activity on +set -g visual-activity on + +## set color for status bar +set-option -g status-bg colour0 +set-option -g status-fg colour7 +set-option -g status-attr bright + +## set window list colors +set-window-option -g window-status-fg colour6 +set-window-option -g window-status-bg colour0 +set-window-option -g window-status-attr dim + +set-window-option -g window-status-current-fg colour11 +set-window-option -g window-status-current-bg colour0 +set-window-option -g window-status-current-attr bright + +## show host name and IP address on left side of status bar +set -g status-left-length 70 +set -g status-left "#[fg=colour7]#h : #(ifconfig eth0 | grep 'inet ' | awk '{print $2}') " + +## show session name, window & pane number, date and time on right side of status bar +set -g status-right-length 60 +set -g status-right "#[fg=colour7]#S w#I:p#P | %b %d | %H:%M"