I'm probably missing a link or two in my credits, but I know for sure that I shamelessly borrowed from the following:
Last active
January 4, 2016 16:59
-
-
Save armw4/8650827 to your computer and use it in GitHub Desktop.
My tmux.config file that I've pieced together based on others.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# status bar | |
set-option -g status-utf8 on | |
### COLOUR (Solarized dark) | |
# default statusbar colors | |
set-option -g status-bg black #base02 | |
set-option -g status-fg yellow #yellow | |
set-option -g status-attr default | |
# default window title colors | |
set-window-option -g window-status-fg brightblue #base0 | |
set-window-option -g window-status-bg default | |
#set-window-option -g window-status-attr dim | |
# active window title colors | |
set-window-option -g window-status-current-fg brightred #orange | |
set-window-option -g window-status-current-bg default | |
#set-window-option -g window-status-current-attr bright | |
# pane border | |
set-option -g pane-border-fg black #base02 | |
set-option -g pane-active-border-fg brightgreen #base01 | |
# message text | |
set-option -g message-bg black #base02 | |
set-option -g message-fg brightred #orange | |
# pane number display | |
set-option -g display-panes-active-colour blue #blue | |
set-option -g display-panes-colour brightred #orange | |
# clock | |
set-window-option -g clock-mode-colour green #green | |
set -g status-interval 1 | |
set -g status-justify centre # center align window list | |
set -g status-left-length 20 | |
set -g status-right-length 140 | |
set -g status-left '#[fg=green]#H #[fg=black]• #[fg=green,bright]#(uname -r | cut -c 1-6)#[default]' | |
set -g status-right '#[fg=green,bg=default,bright]#(tmux-mem-cpu-load 1) #[fg=red,dim,bg=default]#(uptime | cut -f 4-5 -d " " | cut -f 1 -d ",") #[fg=white,bg=default]%a%l:%M:%S %p#[default] #[fg=blue]%Y-%m-%d' | |
# displays * | |
unbind * | |
bind * list-clients | |
# next Space | |
unbind " " | |
bind " " next-window | |
# prev BSpace | |
unbind BSpace | |
bind BSpace previous-window | |
# C-b is not acceptable -- Vim uses it | |
set-option -g prefix C-a | |
bind-key C-a last-window | |
# Start numbering at 1 | |
set -g base-index 1 | |
# Allows for faster key repetition | |
set -s escape-time 0 | |
# 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. | |
setw -g aggressive-resize on | |
# Allows us to use C-a a <command> to send commands to a TMUX session inside | |
# another TMUX session | |
bind-key a send-prefix | |
# Activity monitoring | |
setw -g monitor-activity on | |
set -g visual-activity on | |
# Highlight active window | |
#set-window-option -g window-status-current-bg red | |
# Vi copypaste mode | |
set-window-option -g mode-keys vi | |
bind-key -t vi-copy 'v' begin-selection | |
bind-key -t vi-copy 'y' copy-selection | |
# hjkl pane traversal | |
bind h select-pane -L | |
bind j select-pane -D | |
bind k select-pane -U | |
bind l select-pane -R | |
# reload config | |
bind r source-file ~/.tmux.conf \; display-message "Config reloaded..." | |
# auto window rename | |
set-window-option -g automatic-rename | |
# rm mouse mode fail | |
set -g mode-mouse off | |
# windows ^W w | |
unbind ^W | |
bind ^W list-windows | |
unbind w | |
bind w list-windows | |
# quit \ | |
unbind \ | |
bind \ confirm-before "kill-server" | |
# color | |
set -g default-terminal "screen-256color" | |
# allow pbpaste and pbcopy commands to work by promoting the tmux server process to | |
# a higher namespace (root) | |
# only enable this if you've got this binary installed. | |
# it is available as a homebrew package | |
# `brew install reattach-to-user-namespace` | |
# i happen to use zsh so you'll probably want to do -l sh or -l bash | |
# set-option -g default-command "reattach-to-user-namespace -l zsh" | |
bind @ kill-pane -a | |
# resize panes like vim | |
bind < resize-pane -L 10 | |
bind L resize-pane -L 100 | |
bind > resize-pane -R 10 | |
bind R resize-pane -R 100 | |
bind - resize-pane -D 5 | |
bind D resize-pane -D 36 | |
bind + resize-pane -U 5 | |
bind U resize-pane -U 35 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment