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
 |