2024-02-17 19:16:45 +01:00
|
|
|
# change prefix wihout unbinding the default C-b
|
|
|
|
#set-option -g prefix C-a
|
|
|
|
#bind-key C-a send-prefix
|
|
|
|
|
|
|
|
# Split panes using | and -
|
|
|
|
bind | split-window -h -c "#{pane_current_path}"
|
|
|
|
bind - split-window -v -c "#{pane_current_path}"
|
|
|
|
unbind '"'
|
|
|
|
unbind %
|
|
|
|
|
|
|
|
bind c new-window -c "#{pane_current_path}"
|
|
|
|
|
|
|
|
# fast reload
|
2024-02-17 21:02:39 +01:00
|
|
|
bind r source-file ~/.config/tmux/tmux.conf
|
2024-02-17 19:16:45 +01:00
|
|
|
|
|
|
|
# switch panes using alt+arrow
|
|
|
|
bind -n M-Left select-pane -L
|
|
|
|
bind -n M-Right select-pane -R
|
|
|
|
bind -n M-Up select-pane -U
|
|
|
|
bind -n M-Down select-pane -D
|
|
|
|
|
|
|
|
set -g mouse on
|
|
|
|
|
2024-02-18 02:05:43 +01:00
|
|
|
# nvim fixes
|
|
|
|
set -sg escape-time 300
|
|
|
|
set -g focus-events on
|
|
|
|
|
2024-02-17 19:16:45 +01:00
|
|
|
# don't rename windows automatically
|
|
|
|
set-option -g allow-rename off
|
|
|
|
|
2024-02-17 20:45:36 +01:00
|
|
|
# vim mode for copying
|
|
|
|
setw -g mode-keys vi
|
|
|
|
# prefix + v to enter copy mode
|
|
|
|
bind v copy-mode
|
|
|
|
# v to start a visual selection
|
|
|
|
bind -T copy-mode-vi v send -X begin-selection
|
2024-02-17 20:59:39 +01:00
|
|
|
{{- if eq .chezmoi.os "darwin" }}
|
|
|
|
# y to yank
|
|
|
|
bind -T copy-mode-vi y send-keys -X copy-pipe-and-cancel "pbcopy"
|
|
|
|
# mouse support
|
|
|
|
bind -T copy-mode-vi MouseDragEnd1Pane send-keys -X copy-pipe-and-cancel "pbcopy"
|
|
|
|
{{- else }}
|
2024-02-17 20:45:36 +01:00
|
|
|
# y to yank
|
|
|
|
bind -T copy-mode-vi y send -X copy-pipe-and-cancel
|
|
|
|
# mouse support
|
|
|
|
bind -T copy-mode-vi MouseDragEnd1Pane send -X copy-pipe-and-cancel
|
2024-02-17 20:59:39 +01:00
|
|
|
{{- end }}
|
|
|
|
# prefix + P to paste
|
|
|
|
bind P paste-buffer
|
2024-02-17 20:45:36 +01:00
|
|
|
|
|
|
|
# color support
|
2024-02-18 02:05:43 +01:00
|
|
|
set -g default-terminal "tmux-256color"
|
|
|
|
set -ga terminal-overrides ",tmux-256color:Tc"
|
2024-02-17 19:16:45 +01:00
|
|
|
|
|
|
|
bind u capture-pane \;\
|
|
|
|
save-buffer /tmp/tmux-buffer \;\
|
|
|
|
split-window -l 10 "urlview /tmp/tmux-buffer"
|
|
|
|
|
|
|
|
# DESIGN
|
|
|
|
|
|
|
|
# clock mode
|
2024-02-17 19:32:58 +01:00
|
|
|
setw -g clock-mode-colour colour0
|
2024-02-17 19:16:45 +01:00
|
|
|
# copy mode
|
|
|
|
setw -g mode-style 'fg=colour0 bg=colour1 bold'
|
|
|
|
|
|
|
|
# pane borders
|
|
|
|
set -g pane-border-style 'fg=colour1'
|
|
|
|
set -g pane-active-border-style 'fg=colour3'
|
|
|
|
|
|
|
|
# statusbar
|
|
|
|
set -g status-position bottom
|
|
|
|
set -g status-justify left
|
2024-02-17 19:32:58 +01:00
|
|
|
set -g status-style 'fg=#3670a5'
|
2024-02-17 19:16:45 +01:00
|
|
|
set -g status-left ''
|
|
|
|
set -g status-right '%Y-%m-%d %H:%M '
|
|
|
|
set -g status-right-length 50
|
|
|
|
set -g status-left-length 10
|
|
|
|
|
2024-02-17 19:32:58 +01:00
|
|
|
setw -g window-status-current-style 'fg=#071421 bg=#3670a5 bold'
|
2024-02-17 19:16:45 +01:00
|
|
|
setw -g window-status-current-format ' #I #W #F '
|
|
|
|
|
2024-02-17 19:32:58 +01:00
|
|
|
setw -g window-status-style 'fg=#3670a5 dim'
|
|
|
|
setw -g window-status-format ' #I #[fg=colour7]#W #[fg=#3670a5]#F '
|
2024-02-17 19:16:45 +01:00
|
|
|
|
2024-02-17 19:32:58 +01:00
|
|
|
setw -g window-status-bell-style 'fg=colour2 bg=#ad6f1d bold'
|
2024-02-17 19:16:45 +01:00
|
|
|
|
|
|
|
# messages
|
|
|
|
set -g message-style 'fg=colour2 bg=colour0 bold'
|
|
|
|
|