diff --git a/tmux.conf b/tmux.conf new file mode 100644 index 0000000..e38a1de --- /dev/null +++ b/tmux.conf @@ -0,0 +1,158 @@ +# change the prefix from 'C-b' to 'M-a' +unbind C-b +set-option -g prefix M-a +bind-key M-a send-prefix + +# start with window 1 (instead of 0) +set -g base-index 1 + +# start with pane 1 +set -g pane-base-index 1 + +# split panes using | and -, make sure they open in the same path +bind | split-window -h -c "#{pane_current_path}" +bind - split-window -v -c "#{pane_current_path}" + +unbind '"' +unbind % + +# open new windows in the current path +bind c new-window -c "#{pane_current_path}" + +# reload config file +bind r source-file ~/.tmux.conf + +unbind p +bind p previous-window + +# shorten command delay +set -sg escape-time 1 + +# don't rename windows automatically +set-option -g allow-rename off + +# mouse control (clickable windows, panes, resizable panes) +set -g mouse on + +# Use Alt-arrow keys without prefix key to switch panes +bind -n M-Left select-pane -L +bind -n M-Right select-pane -R +bind -n M-Up select-pane -U +bind -n M-Down select-pane -D + +# enable vi mode keys +set-window-option -g mode-keys vi +bind -t vi-copy 'v' begin-selection +bind -t vi-copy 'y' copy-selection + +# set default terminal mode to 256 colors +set -g default-terminal "screen-256color" + +# fix pbcopy/pbpaste +if 'command -v reattach-to-user-namespace >/dev/null' \ + 'set -gq @osx-pasteboard true' + +if 'tmux show -gv @osx-clipboard' \ + 'set -g default-command "reattach-to-user-namespace -l $SHELL"' + +# present a menu of URLs to open from the visible pane. sweet. +bind-key u capture-pane \;\ + save-buffer /tmp/tmux-buffer \;\ + split-window -l 10 "urlview /tmp/tmux-buffer" + + +###################### +### DESIGN CHANGES ### +###################### + +# panes +set -g pane-border-fg black +set -g pane-active-border-fg brightred + +## Status bar design +# status line +set -g status-justify left +set -g status-bg default +set -g status-fg colour12 +set -g status-interval 2 + +# messaging +set -g message-fg black +set -g message-bg yellow +set -g message-command-fg blue +set -g message-command-bg black + +#window mode +setw -g mode-bg colour6 +setw -g mode-fg colour0 + +# window status +setw -g window-status-format " #F#I:#W#F " +setw -g window-status-current-format " #F#I:#W#F " +setw -g window-status-format "#[fg=magenta]#[bg=black] #I #[bg=cyan]#[fg=colour8] #W " +setw -g window-status-current-format "#[bg=brightmagenta]#[fg=colour8] #I #[fg=colour8]#[bg=colour14] #W " +setw -g window-status-current-bg colour0 +setw -g window-status-current-fg colour11 +setw -g window-status-current-attr dim +setw -g window-status-bg green +setw -g window-status-fg black +setw -g window-status-attr reverse + +# Info on left (I don't have a session display for now) +set -g status-left '' + +# loud or quiet? +set-option -g visual-activity off +set-option -g visual-bell off +set-option -g visual-silence off +set-window-option -g monitor-activity off +set-option -g bell-action none + +# The modes { +setw -g clock-mode-colour colour135 +setw -g mode-attr bold +setw -g mode-fg colour196 +setw -g mode-bg colour238 + +# } +# The panes { + +set -g pane-border-bg colour0 +set -g pane-border-fg colour19 +set -g pane-active-border-bg colour0 +set -g pane-active-border-fg colour9 + +# } +# The statusbar { + +set -g status-position bottom +set -g status-bg colour18 +set -g status-fg colour137 +set -g status-attr dim +set -g status-left '' +set -g status-right '#[fg=colour233,bg=colour19,bold] %d/%m #[fg=colour233,bg=colour8,bold] %H:%M:%S ' +set -g status-right-length 50 +set -g status-left-length 20 + +setw -g window-status-current-fg colour1 +setw -g window-status-current-bg colour19 +setw -g window-status-current-attr bold +setw -g window-status-current-format ' #I#[fg=colour249]:#[fg=colour255]#W#[fg=colour249]#F ' + +setw -g window-status-fg colour9 +setw -g window-status-bg colour18 +setw -g window-status-attr none +setw -g window-status-format ' #I#[fg=colour237]:#[fg=colour250]#W#[fg=colour244]#F ' + +setw -g window-status-bell-attr bold +setw -g window-status-bell-fg colour255 +setw -g window-status-bell-bg colour1 + +# } +# The messages { + +set -g message-attr bold +set -g message-fg colour232 +set -g message-bg colour16 + +# }