|
|
|
###################################
|
|
|
|
# #
|
|
|
|
# Custom Binds #
|
|
|
|
# #
|
|
|
|
###################################
|
|
|
|
|
|
|
|
# Make sure screen is properly set for tmux
|
|
|
|
set-option -g default-terminal "screen-256color"
|
|
|
|
|
|
|
|
# Rebind tmux prefix to <c-space> to match vim
|
|
|
|
|
|
|
|
# remap prefix to Ctrl+A
|
|
|
|
set -g prefix C-a
|
|
|
|
unbind C-b
|
|
|
|
bind-key C-a send-prefix
|
|
|
|
|
|
|
|
set -s escape-time 0
|
|
|
|
|
|
|
|
# Force Tmux to use zsh at all times
|
|
|
|
set-option -g default-shell /bin/zsh
|
|
|
|
|
|
|
|
###################################
|
|
|
|
# #
|
|
|
|
# Colors #
|
|
|
|
# #
|
|
|
|
###################################
|
|
|
|
|
|
|
|
set-option -g status-bg black #base02
|
|
|
|
set-option -g status-fg yellow #yellow
|
|
|
|
set-option -g status-attr default
|
|
|
|
|
|
|
|
set-window-option -g window-status-fg brightblue #base0
|
|
|
|
set-window-option -g window-status-bg default
|
|
|
|
|
|
|
|
set-window-option -g window-status-current-fg brightred #orange
|
|
|
|
set-window-option -g window-status-current-bg default
|
|
|
|
|
|
|
|
set-option -g pane-border-fg black #base02
|
|
|
|
set-option -g pane-active-border-fg brightgreen #base01
|
|
|
|
|
|
|
|
set-option -g message-bg black #base02
|
|
|
|
set-option -g message-fg brightred #orange
|
|
|
|
|
|
|
|
set-option -g display-panes-active-colour blue #blue
|
|
|
|
set-option -g display-panes-colour brightred #orange
|
|
|
|
|
|
|
|
set-window-option -g clock-mode-colour green #green
|
|
|
|
|
|
|
|
set-window-option -g window-status-bell-style fg=black,bg=red #base02, red
|
|
|
|
|
|
|
|
# Once the prefix is active these binds will matter
|
|
|
|
# <prefix><Space> and <prefix><C-Space> take you to copy mode.
|
|
|
|
|
|
|
|
bind Space copy-mode
|
|
|
|
bind C-Space copy-mode
|
|
|
|
|
|
|
|
# Rebinds to be like nerdtree
|
|
|
|
unbind %
|
|
|
|
bind s split-window -h
|
|
|
|
bind i split-window -v
|
|
|
|
|
|
|
|
# Smart pane switching with awareness of vim splits
|
|
|
|
# This is the tmux side of the vim-tmux-navigator plugin
|
|
|
|
# is_vim='echo "#{pane_current_command}" | grep -iqE "(^|\/)g?(view|n?vim?)(diff)?$"'"
|
|
|
|
|
|
|
|
bind k selectp -U # switch to panel Up
|
|
|
|
bind j selectp -D # switch to panel Down
|
|
|
|
bind h selectp -L # switch to panel Left
|
|
|
|
bind l selectp -R # switch to panel Right
|
|
|
|
|
|
|
|
# Vim keybinds so copy mode behaves more like vim
|
|
|
|
bind-key -t vi-copy 'v' begin-selection
|
|
|
|
bind-key -t vi-copy 'y' copy-selection
|
|
|
|
|
|
|
|
# Vim keybind so that paste is done more naturally instead of with ]
|
|
|
|
bind p paste-buffer
|
|
|
|
|
|
|
|
# Resize tmux splits
|
|
|
|
bind-key -r < resize-pane -L 3
|
|
|
|
bind-key -r > resize-pane -R 3
|
|
|
|
bind-key -r + resize-pane -U 1
|
|
|
|
bind-key -r = resize-pane -D 1
|
|
|
|
|
|
|
|
###################################
|
|
|
|
# #
|
|
|
|
# Custom Settings #
|
|
|
|
# #
|
|
|
|
###################################
|
|
|
|
|
|
|
|
|
|
|
|
# Enable vi-like keybindings
|
|
|
|
set-window-option -g mode-keys vi
|
|
|
|
|
|
|
|
# Pass-through C-<arrow>
|
|
|
|
set-window-option -g xterm-keys on
|