dotfiles/tmux/tmux.conf

81 lines
2.6 KiB
Bash

bind c new-window -c "#{pane_current_path}"
set -g status-keys vi
setw -g mode-keys vi
bind | split-window -h -c "#{pane_current_path}"
bind - split-window -v -c "#{pane_current_path}"
# https://stackoverflow.com/questions/18600188/home-end-keys-do-not-work-in-tmux
bind -n Home if-shell "$is_vim" "send-keys Escape 'OH'" "send-key C-a"
bind -n End if-shell "$is_vim" "send-keys Escape 'OF'" "send-key C-e"
set -g default-terminal "tmux-256color"
set -ag terminal-overrides ",*256col*:colors=256:Tc,alacritty:Tc"
# Ms modifies OSC 52 clipboard handling to work with mosh, see
# https://gist.github.com/yudai/95b20e3da66df1b066531997f982b57b
set -ag terminal-overrides "vte*:XT:Ms=\\E]52;c;%p2%s\\7,xterm*:XT:Ms=\\E]52;c;%p2%s\\7"
# https://github.com/alacritty/alacritty/issues/3037
set -ag terminal-override ',alacritty:Ms=\E]52;c;%p2%s\007'
# enable OSC 52 clipboard
set -g set-clipboard on
set -g mouse on
set -g focus-events on
unbind-key -T copy-mode-vi v
unbind-key -T copy-mode-vi V
unbind-key -T copy-mode-vi y
unbind-key -T copy-mode-vi Enter
unbind-key p
# Begin selection in copy mode.
bind-key -T copy-mode-vi 'v' send -X begin-selection
# Begin rectangle selection in copy mode.
bind-key -T copy-mode-vi 'V' send -X rectangle-toggle
# Yank selection in copy mode.
bind-key -T copy-mode-vi 'y' send -X copy-selection
bind-key -T copy-mode-vi Enter send -X copy-selection
bind p paste-buffer
# Theme
# Default colors
set-option -g status-style fg=colour238,bg=colour255
# Window titles
set-window-option -g window-status-style fg=default,bg=default
set-window-option -g window-status-current-style fg=black,bold,bg=default
set-window-option -g window-status-activity-style fg=default,noreverse,bg=default
# Pane borders
set-option -g pane-border-style fg=colour250,bg=default
set-option -g pane-active-border-style fg=colour75,bg=default
# Message text
set-option -g message-style fg=colour75,bg=default
set-option -g message-command-style fg=colour35,bg=default
# Copy mode
set-window-option -g mode-style fg=default,bg=colour250
# Clock mode
set-window-option -g clock-mode-colour colour75
set-window-option -g clock-mode-style 24
# Plugins
set-option -g @prefix_highlight_fg 'colour255'
set-option -g @prefix_highlight_bg 'colour75'
set-option -g @prefix_highlight_copy_mode_attr 'fg=colour255,bg=colour176'
## TMUX Plugins
if "test ! -d ~/.tmux/plugins/tpm" \
"run 'git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm && ~/.tmux/plugins/tpm/bin/install_plugins'"
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-resurrect'
set -g @resurrect-strategy-vim 'session'
run '~/.tmux/plugins/tpm/tpm'