summaryrefslogtreecommitdiff
path: root/.config/tmux/tmux.conf
diff options
context:
space:
mode:
Diffstat (limited to '.config/tmux/tmux.conf')
-rw-r--r--.config/tmux/tmux.conf71
1 files changed, 71 insertions, 0 deletions
diff --git a/.config/tmux/tmux.conf b/.config/tmux/tmux.conf
new file mode 100644
index 0000000..7f350fe
--- /dev/null
+++ b/.config/tmux/tmux.conf
@@ -0,0 +1,71 @@
+# Load tmux config
+bind r source-file $HOME/.config/tmux/.tmux.conf
+
+# Bind prefix to C-a
+set-option -g prefix C-a
+unbind-key C-b
+bind-key C-a send-prefix
+
+# Allows vim to display colors correctly.
+set -g default-terminal 'screen-256color'
+set -ga terminal-overrides ',*256col*:Tc'
+
+# Status line
+set -g status on
+set-option -g status-style bg=#121212,fg=white
+set-option -g automatic-rename on
+set-option -g renumber-windows on
+set-option -g status-left ""
+set -ga status-left '#[bg=black]#[fg=white] #{?window_zoomed_flag,, }'
+set-option -g status-right ""
+set-option -g window-status-format " #{window_index}#(echo ':')#{window_name}#{window_flag} "
+set-option -g window-status-current-format " #[bold,bg=#1c1c1c] #{window_index}#(echo ':')#{window_name}#{window_flag} "
+
+#set -g default-terminal screen-256color
+set -g status-keys vi
+set -g history-limit 10000
+
+setw -g mode-keys vi
+setw -g mouse off
+
+# split panes
+bind s split-window -h
+bind v split-window -v
+unbind '"'
+unbind %
+
+bind-key J resize-pane -D 5
+bind-key K resize-pane -U 5
+bind-key H resize-pane -L 5
+bind-key L resize-pane -R 5
+
+bind-key M-j resize-pane -D
+bind-key M-k resize-pane -U
+bind-key M-h resize-pane -L
+bind-key M-l resize-pane -R
+
+# Vim style pane selection
+bind h select-pane -L
+bind j select-pane -D
+bind k select-pane -U
+bind l select-pane -R
+
+# Use Alt-vim keys without prefix key to switch panes
+bind -n M-h select-pane -L
+bind -n M-j select-pane -D
+bind -n M-k select-pane -U
+bind -n M-l select-pane -R
+
+
+bind Escape copy-mode
+bind p paste-buffer
+bind -T copy-mode-vi v send -X begin-selection
+bind -T copy-mode-vi y send-keys -X copy-pipe-and-cancel "pbcopy"
+bind -T copy-mode-vi MouseDragEnd1Pane send-keys -X copy-pipe-and-cancel "pbcopy"
+bind -T copy-mode-vi Enter send-keys -X copy-pipe-and-cancel "pbcopy"
+
+# 0 is too far from ` ;)
+set -g base-index 1
+
+# No delay for escape key press
+set -sg escape-time 0