95 lines
2.1 KiB
Bash
95 lines
2.1 KiB
Bash
# set escape key
|
|
unbind C-b
|
|
set -g prefix C-y
|
|
bind C-y send-prefix
|
|
bind y send-key C-y # Ctrl-y y sends Ctrl-y
|
|
|
|
# move between 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 -n M-Left select-pane -L
|
|
bind -n M-Down select-pane -D
|
|
bind -n M-Up select-pane -U
|
|
bind -n M-Right select-pane -R
|
|
|
|
# resize panes
|
|
bind -r h resize-pane -L 5
|
|
bind -r j resize-pane -D 5
|
|
bind -r k resize-pane -U 5
|
|
bind -r l resize-pane -R 5
|
|
|
|
# setw -g mode-keys vi
|
|
set -g status-keys vi
|
|
|
|
set -g base-index 1 # start window index at 1
|
|
set -g pane-base-index 1 # for tmuxinator
|
|
|
|
# fixes some delay issues in vim
|
|
set -sg escape-time 1
|
|
|
|
# tmux messages are displayed for 4s
|
|
set -g display-time 4000
|
|
|
|
# focus events enabled for terminals that support them
|
|
|
|
bind n command-prompt 'rename-window %%'
|
|
bind N command-prompt 'rename-session %%'
|
|
bind -r < swap-window -t :-
|
|
bind -r > swap-window -t :+
|
|
|
|
# swap % and " splitting
|
|
unbind '"'
|
|
bind '"' split-window -h
|
|
unbind %
|
|
bind % split-window
|
|
|
|
# Copy mode key bindings
|
|
unbind p
|
|
bind p paste-buffer
|
|
# bind -t vi-copy 'v' begin-selection
|
|
# bind -t vi-copy 'y' copy-selection
|
|
|
|
# set default terminal color
|
|
set -g default-terminal "screen-256color"
|
|
|
|
# enable activity alerts
|
|
setw -g monitor-activity on
|
|
set -g visual-activity on
|
|
|
|
# Center window list
|
|
set -g status-justify centre
|
|
|
|
# stop auto-renaming windows
|
|
set-option -g allow-rename off
|
|
|
|
# load style file
|
|
source "$HOME/.config/tmux/tmux_style.conf"
|
|
|
|
# List of plugins
|
|
set -g @plugin 'tmux-plugins/tpm'
|
|
set -g @plugin 'tmux-plugins/tmux-resurrect'
|
|
set -g @plugin 'tmux-plugins/tmux-continuum'
|
|
|
|
# restore vim sessions
|
|
#set -g @resurrect-strategy-vim 'session'
|
|
set -g @resurrect-strategy-nvim 'session'
|
|
|
|
set -g @resurrect-save 'S'
|
|
set -g @resurrect-restore 'R'
|
|
set -g @resurrect-capture-pane-contents 'on'
|
|
|
|
set -g @resurrect-dir '$HOME/.cache/tmux/resurrect'
|
|
#set -g @resurrect-processes ''
|
|
|
|
set -g mouse on
|
|
|
|
# install plugins with prefix+I
|
|
# update plugins with prefix+u
|
|
# uninstall plugins with prefix+alt+u
|
|
|
|
# initialize plugin manager, must be at the bottom
|
|
run '~/.tmux/plugins/tpm/tpm'
|
|
|