diff options
Diffstat (limited to 'tmux/tmux.conf')
| -rw-r--r-- | tmux/tmux.conf | 120 |
1 files changed, 120 insertions, 0 deletions
diff --git a/tmux/tmux.conf b/tmux/tmux.conf new file mode 100644 index 0000000..f32667f --- /dev/null +++ b/tmux/tmux.conf @@ -0,0 +1,120 @@ +# Enable 256 color support +set -g default-terminal "tmux-256color" +set -ga terminal-overrides ",*:RGB" + +# Enable clipboard +set -g set-clipboard on + +# Change prefix from Ctrl-b to Ctrl-z +unbind C-b +set -g prefix C-z +bind-key C-z send-prefix + +# Vim-style pane navigation +bind h select-pane -L +bind j select-pane -D +bind k select-pane -U +bind l select-pane -R + +# Split windows (opens in same directory) +unbind % +bind | split-window -h -c "#{pane_current_path}" + +unbind '"' +bind - split-window -v -c "#{pane_current_path}" + +# Reload config +unbind r +bind r source-file $HOME/.config/tmux/tmux.conf + +# Alt+hjkl to switch panes without prefix +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 + +# Alt+number to select window +bind -n M-1 select-window -t 1 +bind -n M-2 select-window -t 2 +bind -n M-3 select-window -t 3 +bind -n M-4 select-window -t 4 +bind -n M-5 select-window -t 5 +bind -n M-6 select-window -t 6 +bind -n M-7 select-window -t 7 +bind -n M-8 select-window -t 8 +bind -n M-9 select-window -t 9 + + + +# Tokyo Night Moon theme colors +thm_bg="#222436" +thm_fg="#c8d3f5" +thm_cyan="#86e1fc" +thm_black="#1b1d2b" +thm_gray="#3a3f5a" +thm_magenta="#c099ff" +thm_pink="#ff757f" +thm_red="#ff757f" +thm_green="#c3e88d" +thm_yellow="#ffc777" +thm_blue="#82aaff" +thm_orange="#ff9e64" +thm_black4="#444a73" + +# Status bar settings +set -g status "on" +set -g status-bg "${thm_bg}" +set -g status-justify "left" +set -g status-left-length "100" +set -g status-right-length "100" + +# Messages +set -g message-style "fg=${thm_cyan},bg=${thm_gray},align=centre" +set -g message-command-style "fg=${thm_cyan},bg=${thm_gray},align=centre" + +# Panes +set -g pane-border-style "fg=${thm_gray}" +set -g pane-active-border-style "fg=${thm_blue}" + +# Windows +set -g window-status-activity-style "fg=${thm_fg},bg=${thm_bg},none" +set -g window-status-separator "" +set -g window-status-style "fg=${thm_fg},bg=${thm_bg},none" + + + +# Statusline - current window +set -g window-status-current-format "#[fg=${thm_blue},bg=${thm_bg}] #I: #[fg=${thm_magenta},bg=${thm_bg}]( ) #[fg=${thm_cyan},bg=${thm_bg}]#(echo '#{pane_current_path}' | rev | cut -d'/' -f-2 | rev) #[fg=${thm_magenta},bg=${thm_bg}]" + +# Statusline - other windows +set -g window-status-format "#[fg=${thm_blue},bg=${thm_bg}] #I: #[fg=${thm_fg},bg=${thm_bg}]#W" + +# Statusline - right side +set -g status-right "#[fg=${thm_blue},bg=${thm_bg},nobold,nounderscore,noitalics]#[fg=${thm_bg},bg=${thm_blue},nobold,nounderscore,noitalics] #[fg=${thm_fg},bg=${thm_gray}] #W #{?client_prefix,#[fg=${thm_magenta}],#[fg=${thm_cyan}]}#[bg=${thm_gray}]#{?client_prefix,#[bg=${thm_magenta}],#[bg=${thm_cyan}]}#[fg=${thm_bg}] #[fg=${thm_fg},bg=${thm_gray}] #S " + +# Statusline - left side (empty) +set -g status-left "" + +# Modes +set -g clock-mode-colour "${thm_blue}" +set -g mode-style "fg=${thm_blue} bg=${thm_black4} bold" + + +# Change from 0 based to 1 based because keyboard layout +set -g base-index 1 +set -g pane-base-index 1 +set-window-option -g pane-base-index 1 +set-option -g renumber-windows on + +# Vim-like copy/paste +set-window-option -g mode-keys vi +bind-key -T copy-mode-vi v send-keys -X begin-selection +bind-key -T copy-mode-vi C-v send-keys -X rectangle-toggle +bind-key -T copy-mode-vi y send-keys -X copy-selection-and-cancel +unbind -T copy-mode-vi MouseDragEnd1Pane + + + + + + |
