158 lines
		
	
	
	
		
			4.7 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			158 lines
		
	
	
	
		
			4.7 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
| # improve colors
 | |
| # set -g utf8
 | |
| # set-window-option -g utf8 on
 | |
| 
 | |
| # Add truecolor support
 | |
| set-option -ga terminal-overrides ",xterm-256color:Tc"
 | |
| # Default terminal is 256 colors
 | |
| set -g default-terminal "screen-256color"
 | |
| 
 | |
| set -s escape-time 0
 | |
| 
 | |
| # act like vim
 | |
| setw -g mode-keys vi
 | |
| bind h select-pane -L
 | |
| bind j select-pane -D
 | |
| bind k select-pane -U
 | |
| bind l select-pane -R
 | |
| bind-key -r C-h select-window -t :-
 | |
| bind-key -r C-l select-window -t :+
 | |
| 
 | |
| set -g prefix2 C-a
 | |
| bind-key -n C-b send-prefix
 | |
| 
 | |
| # start window numbers at 1 to match keyboard order with tmux window order
 | |
| set -g base-index 1
 | |
| set-window-option -g pane-base-index 1
 | |
| 
 | |
| # renumber windows sequentially after closing any of them
 | |
| set -g renumber-windows on
 | |
| 
 | |
| # soften status bar color from harsh green to light gray
 | |
| set -g status-bg '#666666'
 | |
| set -g status-fg '#aaaaaa'
 | |
| 
 | |
| # remove administrative debris (session name, hostname, time) in status bar
 | |
| set -g status-left ''
 | |
| set -g status-right ''
 | |
| 
 | |
| # increase scrollback lines
 | |
| set -g history-limit 10000
 | |
| 
 | |
| # prefix -> back-one-character
 | |
| bind-key C-b send-prefix
 | |
| # prefix-2 -> forward-incremental-history-search
 | |
| bind-key C-s send-prefix -2
 | |
| 
 | |
| set -g mouse on
 | |
| 
 | |
| # if-shell "uname | grep -q Darwin" "source-file ~/.dotfiles/tmux-osx.conf"
 | |
| 
 | |
| set-option -g default-shell /bin/zsh
 | |
| 
 | |
| # Bind ']' to use pbpaste
 | |
| bind ] run "reattach-to-user-namespace pbpaste | tmux load-buffer - && tmux paste-buffer"
 | |
| 
 | |
| 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
 | |
| bind-key -T copy-mode-vi H send-keys -X start-of-line
 | |
| bind-key -T copy-mode-vi L send-keys -X end-of-line
 | |
| bind-key -T choice-mode-vi h send-keys -X tree-collapse
 | |
| bind-key -T choice-mode-vi l send-keys -X tree-expand
 | |
| bind-key -T choice-mode-vi H send-keys -X tree-collapse-all
 | |
| bind-key -T choice-mode-vi L send-keys -X tree-expand-all
 | |
| bind-key -T copy-mode-emacs MouseDragEnd1Pane send-keys -X copy-pipe "reattach-to-user-namespace pbcopy"
 | |
| bind-key -T copy-mode-vi MouseDragEnd1Pane send-keys -X copy-pipe "reattach-to-user-namespace pbcopy"
 | |
| # bind-key -T vi-copy v begin-selection
 | |
| # bind-key -T vi-copy C-v rectangle-toggle
 | |
| # bind-key -T vi-copy y copy-selection
 | |
| # bind-key -T vi-choice h tree-collapse
 | |
| # bind-key -T vi-choice l tree-expand
 | |
| # bind-key -T vi-choice H tree-collapse-all
 | |
| # bind-key -T vi-choice L tree-expand-all
 | |
| # bind-key -T emacs-copy MouseDragEnd1Pane copy-pipe "reattach-to-user-namespace pbcopy"
 | |
| # bind-key -T vi-copy MouseDragEnd1Pane copy-pipe "reattach-to-user-namespace pbcopy"
 | |
| 
 | |
| # resize panes
 | |
| bind -n S-Left resize-pane -L 2
 | |
| bind -n S-Right resize-pane -R 2
 | |
| bind -n S-Down resize-pane -D 1
 | |
| bind -n S-Up resize-pane -U 1
 | |
| 
 | |
| set-option -g allow-rename off 
 | |
| 
 | |
| 
 | |
| ## Status bar design
 | |
| # status line
 | |
| set -g status-justify centre
 | |
| set -g status-bg default
 | |
| set -g status-fg cyan
 | |
| set -g status-interval 1
 | |
| 
 | |
| # messaging
 | |
| # set -g message-fg black
 | |
| # set -g message-bg yellow
 | |
| # set -g message-command-fg blue
 | |
| # set -g message-command-bg black
 | |
| 
 | |
| #window mode
 | |
| # setw -g mode-bg cyan
 | |
| # setw -g mode-fg white
 | |
| 
 | |
| # The modes
 | |
| set -g clock-mode-colour colour45
 | |
| set -g clock-mode-style 12
 | |
| # setw -g mode-attr none
 | |
| # setw -g mode-fg colour16
 | |
| # setw -g mode-bg colour184
 | |
| 
 | |
| # The panes
 | |
| # set -g pane-border-bg colour245
 | |
| # set -g pane-border-fg colour245
 | |
| # set -g pane-active-border-bg colour45
 | |
| # set -g pane-active-border-fg colour45
 | |
| 
 | |
| # The statusbar
 | |
| set -g status-position bottom
 | |
| set -g status-bg colour235
 | |
| set -g status-fg colour254
 | |
| # set -g status-attr none
 | |
| set -g status-left '#[bold]#{?client_prefix,#[fg=colour220],#[fg=colour207]} #{pane_current_command}#[default] #S [#P] '
 | |
| set -g status-right ' #(battery-prompt tmux) #[fg=colour034]%a %b %e #[fg=colour082,bold]%l:%M:%S #[none]%p '
 | |
| set -g status-right-length 50
 | |
| set -g status-left-length 50
 | |
| 
 | |
| # setw -g window-status-current-fg colour45
 | |
| # setw -g window-status-current-bg colour196
 | |
| # setw -g window-status-current-attr bold
 | |
| setw -g window-status-current-format ' #I:#W '
 | |
| 
 | |
| # setw -g window-status-fg colour245
 | |
| # setw -g window-status-bg colour240
 | |
| # setw -g window-status-attr none
 | |
| setw -g window-status-format ' #I:#W '
 | |
| 
 | |
| # setw -g window-status-bell-attr bold
 | |
| # setw -g window-status-bell-fg colour255
 | |
| # setw -g window-status-bell-bg colour15
 | |
| 
 | |
| # The messages
 | |
| # set -g message-attr none
 | |
| # set -g message-fg colour87
 | |
| # set -g message-bg colour235
 | |
| 
 | |
| # -- display -------------------------------------------------------------------
 | |
| 
 | |
| set-window-option -g automatic-rename on
 | |
| set-option -g allow-rename off
 | |
| set -g base-index 1
 | |
| set -g pane-base-index 1
 | |
| set -g automatic-rename-format '#(basename #{pane_current_path})'
 | |
| set -g renumber-windows on
 | |
| set -g set-titles on
 | |
| set -g set-titles-string '#{pane_current_path} #S:#I — #{pane_current_command}'
 | |
| 
 | |
| # activity
 | |
| set -g monitor-activity on
 | |
| set -g visual-activity on
 |