116 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
			
		
		
	
	
			116 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
| unbind C-b
 | |
| # remap prefix to Control + z
 | |
| set -g prefix C-a
 | |
| # bind 'C-z C-z' to type 'C-z'
 | |
| bind C-a send-prefix
 | |
| 
 | |
| 
 | |
| # 0 is too far from ` ;)
 | |
| set -g base-index 1
 | |
| 
 | |
| # Automatically set window title
 | |
| set-window-option -g automatic-rename on
 | |
| set-option -g set-titles on
 | |
| 
 | |
| #set -g default-terminal screen-256color
 | |
| set -g status-keys vi
 | |
| set -g history-limit 10000
 | |
| 
 | |
| setw -g mode-keys vi
 | |
| #setw -g mode-mouse on
 | |
| setw -g monitor-activity on
 | |
| set -g mouse on
 | |
| 
 | |
| bind-key v split-window -h -c "#{pane_current_path}"
 | |
| bind-key s split-window -v -c "#{pane_current_path}"
 | |
| bind-key c new-window -c "#{pane_current_path}"
 | |
| 
 | |
| bind-key -n C-S-Left  swap-window -t -1
 | |
| bind-key -n C-S-Right swap-window -t +1
 | |
| 
 | |
| # bind-key J resize-pane -D 5
 | |
| # bind-key K resize-pane -U 5
 | |
| # bind-key H resize-pane -L 5
 | |
| # bind-key L resize-pane -R 5
 | |
| 
 | |
| # bind-key M-j resize-pane -D
 | |
| # bind-key M-k resize-pane -U
 | |
| # bind-key M-h resize-pane -L
 | |
| # bind-key M-l resize-pane -R
 | |
| 
 | |
| # Vim style pane selection
 | |
| bind h select-pane -L
 | |
| bind j select-pane -D 
 | |
| bind k select-pane -U
 | |
| bind l select-pane -R
 | |
| bind K kill-pane -a
 | |
| 
 | |
| # Use Alt-vim keys without prefix key to switch 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-h select-pane -L \; resize-pane -Z
 | |
| # bind -n M-j select-pane -D \; resize-pane -Z
 | |
| # bind -n M-k select-pane -U \; resize-pane -Z
 | |
| # bind -n M-l select-pane -R \; resize-pane -Z
 | |
| 
 | |
| # # 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 C-Left  previous-window
 | |
| bind -n C-Right next-window
 | |
| 
 | |
| bind -n M-n  previous-window
 | |
| bind -n M-p nejt-window
 | |
| 
 | |
| # Map Alt-z to zoom in and out pane
 | |
| bind -n M-z resize-pane -Z
 | |
| bind -n M-q resize-pane -Z
 | |
| 
 | |
| # # Use v to trigger selection    
 | |
| bind-key -T copy-mode-vi v send-keys -X begin-selection
 | |
| #
 | |
| # # Use y to yank current selection
 | |
| bind-key -T copy-mode-vi y send-keys -X copy-selection-and-cancel
 | |
| 
 | |
| # No delay for escape key press
 | |
| set -sg escape-time 0
 | |
| 
 | |
| # THEME
 | |
| set -g status-style bg=black,fg=white
 | |
| # set -g status-bg black
 | |
| # set -g status-fg white
 | |
| set -g window-status-current-style bg=green,fg=black,bold
 | |
| set -g pane-active-border-style fg=green,bg=black
 | |
| set -g status-interval 60
 | |
| set -g status-left-length 30
 | |
| set -g status-left '#[fg=green](#S) #(whoami)'
 | |
| set -g status-right '#[fg=yellow]#(cut -d " " -f 1-3 /proc/loadavg)#[default] #[fg=white]%H:%M#[default]'
 | |
| 
 | |
| # synchronouse windows
 | |
| # setw synchronize-panes
 | |
| 
 | |
| # pane movement
 | |
| bind-key b command-prompt -p "join pane from:"  "join-pane -s ':%%'"
 | |
| bind-key a command-prompt -p "send pane to:"  "join-pane -t ':%%'"
 | |
| # # for vim
 | |
| # # Smart pane switching with awareness of Vim splits.
 | |
| # # See: https://github.com/christoomey/vim-tmux-navigator
 | |
| # is_vim="ps -o state= -o comm= -t '#{pane_tty}' \
 | |
| #     | grep -iqE '^[^TXZ ]+ +(\\S+\\/)?g?(view|n?vim?x?)(diff)?$'"
 | |
| # bind-key -n C-h if-shell "$is_vim" "send-keys C-h"  "select-pane -L"
 | |
| # bind-key -n C-j if-shell "$is_vim" "send-keys C-j"  "select-pane -D"
 | |
| # bind-key -n C-k if-shell "$is_vim" "send-keys C-k"  "select-pane -U"
 | |
| # bind-key -n C-l if-shell "$is_vim" "send-keys C-l"  "select-pane -R"
 | |
| # bind-key -n C-\ if-shell "$is_vim" "send-keys C-\\" "select-pane -l"
 | |
| # bind-key -T copy-mode-vi C-h select-pane -L
 | |
| # bind-key -T copy-mode-vi C-j select-pane -D
 | |
| # bind-key -T copy-mode-vi C-k select-pane -U
 | |
| # bind-key -T copy-mode-vi C-l select-pane -R
 | |
| # bind-key -T copy-mode-vi C-\ select-pane -l
 |