148 lines
		
	
	
		
			5.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
		
		
			
		
	
	
			148 lines
		
	
	
		
			5.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| 
								 | 
							
								set -g default-terminal "screen-256color"
							 | 
						|||
| 
								 | 
							
								set -ga terminal-overrides ",xterm-256color*:Tc"
							 | 
						|||
| 
								 | 
							
								#set -g default-terminal "tmux-256color"
							 | 
						|||
| 
								 | 
							
								#set -ga terminal-overrides ",*256col*:Tc"
							 | 
						|||
| 
								 | 
							
								set -g prefix2 C-a												# Secondary prefix
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								unbind-key C-b														# free the original bind-key key
							 | 
						|||
| 
								 | 
							
								set-option -g prefix C-a									# setting the prefix from C-b to C-a
							 | 
						|||
| 
								 | 
							
								bind-key C-a send-prefix
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								set-option -g base-index 1								# window index will start with 1
							 | 
						|||
| 
								 | 
							
								set-window-option -g pane-base-index 1 		# pane index will start with 1
							 | 
						|||
| 
								 | 
							
								set-option -g renumber-windows on
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								bind-key | split-window -h -c "#{pane_current_path}" # allows you to open new pane with current path
							 | 
						|||
| 
								 | 
							
								bind-key _ split-window -v -c "#{pane_current_path}"
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								# nvim like movement
							 | 
						|||
| 
								 | 
							
								bind-key -r h select-pane -L              # go left
							 | 
						|||
| 
								 | 
							
								bind-key -r j select-pane -D              # go down
							 | 
						|||
| 
								 | 
							
								bind-key -r l select-pane -R              # go right
							 | 
						|||
| 
								 | 
							
								bind-key -r k select-pane -U              # go up
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								# kill pane without asking me to kill it!
							 | 
						|||
| 
								 | 
							
								unbind-key x               								# unbind-key “x” from it’s current job of “ask and then close”
							 | 
						|||
| 
								 | 
							
								bind-key x kill-pane       								# rebind-key it to just “close”
							 | 
						|||
| 
								 | 
							
								bind-key X kill-session                   # key combo for killing the entire session - <prefix> + shift + x
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								# Window: Movements
							 | 
						|||
| 
								 | 
							
								bind-key L last-window
							 | 
						|||
| 
								 | 
							
								bind-key -r C-h select-window -t :-       # cycle through the windows for quick window selection
							 | 
						|||
| 
								 | 
							
								bind-key -r C-l select-window -t :+
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								# The default key binding are Ctr+ Up/Down/Left/Right for one row movements , Alt + Up/Down/Left/Right for five row movements.
							 | 
						|||
| 
								 | 
							
								# Let's add one more to the set (Vim way)
							 | 
						|||
| 
								 | 
							
								# Vim Style
							 | 
						|||
| 
								 | 
							
								bind-key -r H resize-pane -L 2            # resize a pane two rows at a time.
							 | 
						|||
| 
								 | 
							
								bind-key -r J resize-pane -D 2
							 | 
						|||
| 
								 | 
							
								bind-key -r K resize-pane -U 2
							 | 
						|||
| 
								 | 
							
								bind-key -r L resize-pane -R 2
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								# these settings are added for testing porpuses they were taken from the github-nvim-theme
							 | 
						|||
| 
								 | 
							
								# Undercurl
							 | 
						|||
| 
								 | 
							
								set -g default-terminal "${TERM}"
							 | 
						|||
| 
								 | 
							
								set -as terminal-overrides ',*:Smulx=\E[4::%p1%dm'  # undercurl support
							 | 
						|||
| 
								 | 
							
								set -as terminal-overrides ',*:Setulc=\E[58::2::%p1%{65536}%/%d::%p1%{256}%/%{255}%&%d::%p1%{255}%&%d%;m'  # underscore colours - needs tmux-3.0
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								# toggle mouse
							 | 
						|||
| 
								 | 
							
								set -g mouse on
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								# tpm plugins
							 | 
						|||
| 
								 | 
							
								#set -g @plugin 'egel/tmux-gruvbox'
							 | 
						|||
| 
								 | 
							
								#set -g @tmux-gruvbox 'dark' # or 'light'
							 | 
						|||
| 
								 | 
							
								set -g @plugin 'tmux-plugins/tmux-yank'
							 | 
						|||
| 
								 | 
							
								set -g @plugin 'tmux-plugins/tmux-resurrect'
							 | 
						|||
| 
								 | 
							
								set -g @plugin 'wfxr/tmux-fzf-url'
							 | 
						|||
| 
								 | 
							
								#set -g @plugin "arcticicestudio/nord-tmux"
							 | 
						|||
| 
								 | 
							
								#set -g @plugin 'odedlaz/tmux-onedark-theme'
							 | 
						|||
| 
								 | 
							
								#set -g @plugin 'jimeh/tmux-themepack'
							 | 
						|||
| 
								 | 
							
								#set -g @plugin 'srcery-colors/srcery-tmux'
							 | 
						|||
| 
								 | 
							
								# Official catppuccino theme
							 | 
						|||
| 
								 | 
							
								# ...alongside
							 | 
						|||
| 
								 | 
							
								set -g @plugin 'tmux-plugins/tpm'
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								#set -g @catppuccin_flavour 'macchiato' #'latte' # or frappe, macchiato, mocha
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								# this plugin is pretty cool but it does not work without Powerline fonts
							 | 
						|||
| 
								 | 
							
								#set -g @plugin 'Determinant/tmux-colortag'
							 | 
						|||
| 
								 | 
							
								#TMUX_COLORTAG_USE_POWERLINE=yes
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								# sets specific tmux theme
							 | 
						|||
| 
								 | 
							
								#set -g @themepack 'powerline/default/green'
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								set -g @plugin 'tmux-plugins/tmux-prefix-highlight'
							 | 
						|||
| 
								 | 
							
								set -g @plugin 'tmux-plugins/tmux-net-speed'
							 | 
						|||
| 
								 | 
							
								#set -g @plugin 'samoshkin/tmux-plugin-sysstat' # `sysstat_ntemp` and `sysstat_itemp` are temperatures of nvidia card and intel card, these scripts are available in my fork: https://github.com/sainnhe/tmux-plugin-sysstat
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								#source ~/.config/tmux/themes/Catppuccin.conf
							 | 
						|||
| 
								 | 
							
								#source ~/.config/tmux/themes/sonokai-shusia.tmux.conf
							 | 
						|||
| 
								 | 
							
								#source ~/.config/tmux/themes/nightfox.conf
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								# Initialize TMUX plugin manager (keep this line at the very bottom of the tmux.conf"
							 | 
						|||
| 
								 | 
							
								run '~/.tmux/plugins/tpm/tpm'
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								### theme settings ###
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								# window separators
							 | 
						|||
| 
								 | 
							
								set-option -wg window-status-separator ""
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								# monitor window changes
							 | 
						|||
| 
								 | 
							
								set-option -wg monitor-activity on
							 | 
						|||
| 
								 | 
							
								set-option -wg monitor-bell on
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								# set statusbar update interval
							 | 
						|||
| 
								 | 
							
								set-option -g status-interval 1
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								### colorscheme ###
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								# change window screen colors
							 | 
						|||
| 
								 | 
							
								set-option -wg mode-style bg="#fe8019",fg="#3c3836"
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								# default statusbar colors (terminal bg should be #282828)
							 | 
						|||
| 
								 | 
							
								set-option -g status-style bg=terminal,fg="#a89984"
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								# default window title colors
							 | 
						|||
| 
								 | 
							
								set-option -wg window-status-style bg="#3c3836",fg="#7c6f64"
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								# colors for windows with activity
							 | 
						|||
| 
								 | 
							
								set-option -wg window-status-activity-style bg="#3c3836",fg="#a89984"
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								# colors for windows with bells
							 | 
						|||
| 
								 | 
							
								set-option -wg window-status-bell-style bg="#3c3836",fg="#fe8019"
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								# active window title colors
							 | 
						|||
| 
								 | 
							
								set-option -wg window-status-current-style bg="#fe8019",fg="#3c3836"
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								# pane border
							 | 
						|||
| 
								 | 
							
								set-option -g pane-active-border-style fg="#fe8019"
							 | 
						|||
| 
								 | 
							
								set-option -g pane-border-style fg="#3c3836"
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								# message info
							 | 
						|||
| 
								 | 
							
								set-option -g message-style bg="#fe8019",fg="#3c3836"
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								# writing commands inactive
							 | 
						|||
| 
								 | 
							
								set-option -g message-command-style bg="#a89984",fg="#3c3836"
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								# pane number display
							 | 
						|||
| 
								 | 
							
								set-option -g display-panes-active-colour "#fe8019"
							 | 
						|||
| 
								 | 
							
								set-option -g display-panes-colour "#3c3836"
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								# clock
							 | 
						|||
| 
								 | 
							
								set-option -wg clock-mode-colour "#fe8019"
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								# copy mode highlighting
							 | 
						|||
| 
								 | 
							
								%if #{>=:#{version},3.2}
							 | 
						|||
| 
								 | 
							
								    set-option -wg copy-mode-match-style "bg=#a89984,fg=#3c3836"
							 | 
						|||
| 
								 | 
							
								    set-option -wg copy-mode-current-match-style "bg=#fe8019,fg=#3c3836"
							 | 
						|||
| 
								 | 
							
								%endif
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								# statusbar formatting
							 | 
						|||
| 
								 | 
							
								# "#fe8019" MUST be in lowercase here (conflicts with statusline alias otherwise)
							 | 
						|||
| 
								 | 
							
								set-option -g status-left "#[bg=#a89984, fg=#3c3836]#{?client_prefix,#[bg=#fe8019],#[bg=#a89984]} #{session_name} "
							 | 
						|||
| 
								 | 
							
								set-option -g status-right "#[bg=#3c3836, fg=#7c6f64] %Y-%m-%d %H:%M:%S #[bg=#a89984, fg=#3c3836]#{?client_prefix,#[bg=#fe8019],#[bg=#a89984]} #{host_short} "
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								set-option -wg window-status-current-format "#{?window_zoomed_flag,#[fg=default bold],#[fg=default]} #{window_index} #{window_name} "
							 | 
						|||
| 
								 | 
							
								set-option -wg window-status-format "#{?window_zoomed_flag,#[fg=default bold],#[fg=default]} #{window_index} #{window_name} "
							 |