Created
March 12, 2018 21:39
-
-
Save sebastianvera/3094a350ee5f7a6ee8fe40b2e410371c to your computer and use it in GitHub Desktop.
This file contains hidden or 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
########################### | |
# Configuration | |
########################### | |
# use 256 term for pretty colors | |
set -g default-terminal 'xterm-256color' | |
# increase scroll-back history | |
set -g history-limit 5000 | |
# use vim key bindings | |
setw -g mode-keys vi | |
# decrease command delay (increases vim responsiveness) | |
set -sg escape-time 1 | |
# increase repeat time for repeatable commands | |
set -g repeat-time 1000 | |
# highlight window when it has new activity | |
setw -g monitor-activity on | |
set -g visual-activity on | |
# re-number windows when one is closed | |
set -g renumber-windows on | |
# enable pbcopy and pbpaste | |
# https://github.com/ChrisJohnsen/tmux-MacOSX-pasteboard/blob/master/README.md | |
set-option -g default-command "reattach-to-user-namespace -l zsh" | |
# Don't rename the window's name | |
set-option -g allow-rename off | |
# Turn on/off Mouse binds | |
set -g mouse on | |
bind m set -g mouse on | |
bind M set -g mouse off | |
########################### | |
# Key Bindings | |
########################### | |
# tmux prefix | |
unbind C-b | |
set -g prefix C-a | |
# Go to beginning of line | |
bind a send-prefix | |
# copy with 'enter' or 'y' and send to mac os clipboard: http://goo.gl/2Bfn8 | |
unbind-key -T copy-mode-vi Enter | |
bind-key -T copy-mode-vi Enter send-keys -X copy-pipe-and-cancel "reattach-to-user-namespace pbcopy" | |
bind-key -T copy-mode-vi y send-keys -X copy-pipe-and-cancel "reattach-to-user-namespace pbcopy" | |
# resize panes | |
bind -r H resize-pane -L 5 | |
bind -r J resize-pane -D 5 | |
bind -r K resize-pane -U 5 | |
bind -r L resize-pane -R 5 | |
# Enable screen-like C-a C-a moving to last window | |
bind-key C-a last-window | |
# force a reload of the config kile | |
unbind r | |
bind r source-file ~/.tmux.conf \; display "Reloaded!" | |
bind c new-window -c "#{pane_current_path}" | |
bind % split-window -h -c "#{pane_current_path}" | |
bind '"' split-window -c "#{pane_current_path}" | |
# split panes using | and - | |
bind | split-window -h -c "#{pane_current_path}" | |
bind - split-window -v -c "#{pane_current_path}" | |
# Smart pane switching with awareness of vim splits | |
is_vim='echo "#{pane_current_command}" | grep -iqE "(^|\/)g?(view|n?vim?)(diff)?$"' | |
bind -n C-h if-shell "$is_vim" "send-keys C-h" "select-pane -L" | |
bind -n C-j if-shell "$is_vim" "send-keys C-j" "select-pane -D" | |
bind -n C-k if-shell "$is_vim" "send-keys C-k" "select-pane -U" | |
bind -n C-l if-shell "$is_vim" "send-keys C-l" "select-pane -R" | |
# Restore clear screen | |
bind C-l send-keys 'C-l' | |
###################### | |
### DESIGN CHANGES ### | |
###################### | |
## Theme stolen from http://www.hamvocke.com/blog/a-guide-to-customizing-your-tmux-conf/ | |
# 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 30 | |
# 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 colour235 | |
set -g pane-border-fg colour238 | |
set -g pane-active-border-bg colour236 | |
set -g pane-active-border-fg colour51 | |
# The statusbar | |
set -g status-position bottom | |
set -g status-bg colour234 | |
set -g status-fg colour137 | |
set -g status-attr dim | |
set -g status-left '' | |
set -g status-right '#[fg=black,bg=cyan,bold] %d/%m #[fg=cyan,bg=brightblack,bold] %H:%M:%S ' | |
set -g status-right-length 50 | |
set -g status-left-length 20 | |
setw -g window-status-current-fg colour81 | |
setw -g window-status-current-bg colour238 | |
setw -g window-status-current-attr bold | |
setw -g window-status-current-format ' #I#[fg=colour250]:#[fg=colour255]#W#[fg=colour50]#F ' | |
setw -g window-status-fg colour138 | |
setw -g window-status-bg colour235 | |
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 colour166 | |
# nova.tmux theme | |
set -g default-terminal "xterm-256color" | |
set -ga terminal-overrides ",xterm-256color:Tc" | |
set -g pane-border-style 'bg=black,fg=#1E272C' | |
set -g pane-active-border-style 'bg=black,fg=#1E272C' | |
set -g status-style 'bg=#1E272C,fg=#6A7D89' | |
set-window-option -g window-status-current-bg '#1E272C' | |
set-window-option -g window-status-current-fg cyan | |
set -wg mode-style 'bg=cyan,fg=black' | |
set -g message-style 'bg=black,fg=cyan' | |
set -g clock-mode-colour cyan |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment