My tmux configuration file
# B A S I C S | |
## Replace c-B with c-A | |
unbind C-b | |
set -g prefix C-a | |
bind-key -r C-a send-prefix | |
# O P T I O N S | |
## Set 256 color mode | |
set-option -g default-terminal "screen-256color" | |
## Number windows starting at 1, renumber as windows are added / removed | |
set-option -g base-index 1 | |
set-option -g renumber-windows on | |
## Use vim keybindings in copy mode | |
setw -g mode-keys vi | |
## Do not rename windows | |
set-option -g allow-rename off | |
## For neovim | |
set-option -sg escape-time 0 | |
## Sets the refresh rate of the status bar | |
set -g status-interval 60 | |
## SSH Background color - TODO | |
#------------------------------------------------------------------------------# | |
# K E Y B I N D I N G S | |
## Easy reload | |
bind-key r source-file ~/.tmux.conf \; display-message "~/.tmux.conf reloaded" | |
## Go back to last window | |
bind-key C-a last-window | |
## More intuitive pane splitting key-bindings, open all in current path | |
bind-key - split-window -v -c '#{pane_current_path}' | |
bind-key \\ split-window -h -c '#{pane_current_path}' | |
bind c new-window -c '#{pane_current_path}' | |
## Kill windows | |
bind-key C-w kill-pane | |
## Easy resizing of panes with fine and coarse adjustment | |
bind -n S-Left resize-pane -L 2 | |
bind -n S-Right resize-pane -R 2 | |
bind -n S-Down resize-pane -D 1 | |
bind -n S-Up resize-pane -U 1 | |
bind -n C-Left resize-pane -L 10 | |
bind -n C-Right resize-pane -R 10 | |
bind -n C-Down resize-pane -D 5 | |
bind -n C-Up resize-pane -U 5 | |
## Seamless aviation using vim-tmux-navigator (github christoomey/vim-tmux-navigator) | |
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" | |
bind -n C-\\ if-shell "$is_vim" "send-keys C-\\" "select-pane -l" | |
#------------------------------------------------------------------------------# | |
# C O L O R S | |
## COLORSCHEME: gruvbox dark | |
set-option -g status "on" | |
# default statusbar color | |
set-option -g status-style bg=colour237,fg=colour223 # bg=bg1, fg=fg1 | |
# default window title colors | |
set-window-option -g window-status-style bg=colour214,fg=colour237 # bg=yellow, fg=bg1 | |
# default window with an activity alert | |
set-window-option -g window-status-activity-style bg=colour237,fg=colour248 # bg=bg1, fg=fg3 | |
# active window title colors | |
set-window-option -g window-status-current-style bg=red,fg=colour237 # fg=bg1 | |
# pane border | |
set-option -g pane-active-border-style fg=colour250 #fg2 | |
set-option -g pane-border-style fg=colour237 #bg1 | |
# message infos | |
set-option -g message-style bg=colour239,fg=colour223 # bg=bg2, fg=fg1 | |
# writing commands inactive | |
set-option -g message-command-style bg=colour239,fg=colour223 # bg=fg3, fg=bg1 | |
# pane number display | |
set-option -g display-panes-active-colour colour250 #fg2 | |
set-option -g display-panes-colour colour237 #bg1 | |
# clock | |
set-window-option -g clock-mode-colour colour109 #blue | |
# bell | |
set-window-option -g window-status-bell-style bg=colour167,fg=colour235 # bg=red, fg=bg | |
## Theme settings mixed with colors (unfortunately, but there is no cleaner way) | |
set-option -g status-justify "left" | |
set-option -g status-left-style none | |
set-option -g status-left-length "80" | |
set-option -g status-right-style none | |
set-option -g status-right-length "80" | |
set-window-option -g window-status-separator "" | |
set-option -g status-left "#[fg=colour250, bg=colour241] #S #[fg=colour241, bg=colour237, nobold, noitalics, nounderscore]" | |
set-option -g status-right "#[fg=colour239, bg=colour237, nobold, nounderscore, noitalics]#[fg=colour246,bg=colour239] %Y-%m-%d #[fg=colour230,bg=colour244] %H:%M #[fg=colour248, bg=colour239, nobold, noitalics, nounderscore]#[fg=colour237, bg=colour255] darko@#h " | |
set-window-option -g window-status-current-format "#[fg=colour237, bg=colour214, nobold, noitalics, nounderscore]#[fg=colour239, bg=colour221] #I #[fg=colour239, bg=colour214, bold] #W #[fg=colour214, bg=colour237, nobold, noitalics, nounderscore]" | |
set-window-option -g window-status-format "#[fg=colour237,bg=colour239,noitalics]#[fg=colour223,bg=colour239] #I #[fg=colour223, bg=colour239] #W #[fg=colour239, bg=colour237, noitalics]" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment