85 lines
2.3 KiB
Bash
85 lines
2.3 KiB
Bash
set-option -sa terminal-overrides ",xterm*:Tc"
|
|
set -g mouse on
|
|
|
|
unbind C-b
|
|
set -g prefix C-o
|
|
bind C-o send-prefix
|
|
|
|
# export session name
|
|
set -g status-interval 0
|
|
|
|
set-option -g automatic-rename on
|
|
set-option -g automatic-rename-format '#{b:pane_current_path}'
|
|
set-option -g set-titles on
|
|
set-option -g set-titles-string "#T / #W"
|
|
|
|
# Vim style pane selection
|
|
bind h select-pane -L
|
|
bind j select-pane -D
|
|
bind k select-pane -U
|
|
bind l select-pane -R
|
|
|
|
# creating new panels, copy mode
|
|
bind-key -n M-y copy-mode
|
|
|
|
bind-key -n M-s split-window -h -c "#{pane_current_path}"
|
|
bind-key -n M-S split-window -v -c "#{pane_current_path}"
|
|
bind-key -n M-o split-window -v -c "#{pane_current_path}" -l 6
|
|
|
|
bind-key -n M-t new-window -c "#{pane_current_path}"
|
|
bind-key -n M-w kill-window
|
|
bind-key -n M-k next-window
|
|
bind-key -n M-j previous-window
|
|
|
|
# move panes
|
|
bind-key m choose-window -F "#{window_index}: #{window_name}" "join-pane -h -t %%"
|
|
bind-key M choose-window -F "#{window_index}: #{window_name}" "join-pane -v -t %%"
|
|
bind-key o choose-window -F "#{window_index}: #{window_name}" "join-pane -v -l 10 -t %%"
|
|
bind-key b break-pane
|
|
|
|
# resize pane
|
|
bind H resize-pane -L 5
|
|
bind J resize-pane -D 5
|
|
bind K resize-pane -U 5
|
|
bind L resize-pane -R 5
|
|
|
|
# Start windows and panes at 1, not 0
|
|
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
|
|
|
|
# Use Alt-arrow keys without prefix key to switch panes
|
|
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
|
|
|
|
# Shift arrow to switch windows
|
|
bind -n S-Left previous-window
|
|
bind -n S-Right next-window
|
|
|
|
# Shift Alt vim keys to switch windows
|
|
bind -n M-H previous-window
|
|
bind -n M-L next-window
|
|
|
|
set -g @plugin 'tmux-plugins/tpm'
|
|
set -g @plugin 'tmux-plugins/tmux-sensible'
|
|
set -g @plugin 'christoomey/vim-tmux-navigator'
|
|
set -g @plugin 'tmux-plugins/tmux-yank'
|
|
set -g @plugin 'tinted-theming/base16-tmux'
|
|
|
|
set -g @colors-base16 'ocean'
|
|
|
|
run '~/.tmux/plugins/tpm/tpm'
|
|
|
|
# set vi-mode
|
|
set-window-option -g mode-keys vi
|
|
# keybindings
|
|
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 -n C-h
|
|
unbind -n C-j
|
|
unbind -n C-k
|
|
unbind -n C-l
|