# : << EOF # https://github.com/gpakosz/.tmux # (‑●‑●)> dual licensed under the WTFPL v2 license and the MIT license, # without any warranty. # Copyright 2012— Gregory Pakosz (@gpakosz). # -- bindings ------------------------------------------------------------------ # preserve tmux stock bindings, # while adding bindings that don't conflict with these stock bindings # /!\ this disables some of Oh my tmux! bindings described in README.md # - true # - false (default) tmux_conf_preserve_stock_bindings=false # -- session creation ---------------------------------------------------------- # prompt for session name when creating a new session, possible values are: # - true # - false (default) # - disabled (do not modify new-session bindings) tmux_conf_new_session_prompt=false # new session retains current path, possible values are: # - true # - false (default) # - disabled (do not modify new-session bindings) tmux_conf_new_session_retain_current_path=false # -- windows & pane creation --------------------------------------------------- # new window retains current path, possible values are: # - true # - false (default) # - disabled (do not modify new-window bindings) tmux_conf_new_window_retain_current_path=false # new window tries to reconnect ssh sessions, possible values are: # - true # - false (default) # - disabled (do not modify new-window bindings) tmux_conf_new_window_reconnect_ssh=false # new pane retains current path, possible values are: # - true (default) # - false # - disabled (do not modify split-window bindings) tmux_conf_new_pane_retain_current_path=true # new pane tries to reconnect ssh sessions, possible values are: # - true # - false (default) # - disabled (do not modify split-window bindings) tmux_conf_new_pane_reconnect_ssh=false # -- display ------------------------------------------------------------------- # RGB 24-bit colour support, possible values are: # - true # - false # - auto (default) # # automatic detection relies on the COLORTERM environment variable being defined # to 'truecolor' or '24bit' or '$ tput colors' answering '16777216' # see https://github.com/termstandard/colors tmux_conf_24b_colour=auto # -- theming ------------------------------------------------------------------- # enable or disable theming: # - enabled (default) # - disabled # when disabled, all tmux_conf_theme_xxx variables are ignored except: # - tmux_conf_theme_pairing # - tmux_conf_theme_prefix # - tmux_conf_theme_mouse # - tmux_conf_theme_root # - tmux_conf_theme_synchronized tmux_conf_theme=enabled # default theme tmux_conf_theme_colour_1="#080808" # dark gray tmux_conf_theme_colour_2="#303030" # gray tmux_conf_theme_colour_3="#8a8a8a" # light gray tmux_conf_theme_colour_4="#00afff" # light blue tmux_conf_theme_colour_5="#ffff00" # yellow tmux_conf_theme_colour_6="#080808" # dark gray tmux_conf_theme_colour_7="#e4e4e4" # white tmux_conf_theme_colour_8="#080808" # dark gray tmux_conf_theme_colour_9="#ffff00" # yellow tmux_conf_theme_colour_10="#ff00af" # pink tmux_conf_theme_colour_11="#5fff00" # green tmux_conf_theme_colour_12="#8a8a8a" # light gray tmux_conf_theme_colour_13="#e4e4e4" # white tmux_conf_theme_colour_14="#080808" # dark gray tmux_conf_theme_colour_15="#080808" # dark gray tmux_conf_theme_colour_16="#d70000" # red tmux_conf_theme_colour_17="#e4e4e4" # white # default theme (ansi) #tmux_conf_theme_colour_1="colour0" #tmux_conf_theme_colour_2="colour8" #tmux_conf_theme_colour_3="colour8" #tmux_conf_theme_colour_4="colour14" #tmux_conf_theme_colour_5="colour11" #tmux_conf_theme_colour_6="colour0" #tmux_conf_theme_colour_7="colour15" #tmux_conf_theme_colour_8="colour0" #tmux_conf_theme_colour_9="colour11" #tmux_conf_theme_colour_10="colour13" #tmux_conf_theme_colour_11="colour10" #tmux_conf_theme_colour_12="colour8" #tmux_conf_theme_colour_13="colour15" #tmux_conf_theme_colour_14="colour0" #tmux_conf_theme_colour_15="colour0" #tmux_conf_theme_colour_16="colour1" #tmux_conf_theme_colour_17="colour15" # window style tmux_conf_theme_window_fg="default" tmux_conf_theme_window_bg="default" # highlight focused pane, possible values are: # - true # - false (default) tmux_conf_theme_highlight_focused_pane=false # focused pane colours: tmux_conf_theme_focused_pane_bg="$tmux_conf_theme_colour_2" # pane border style, possible values are: # - thin (default) # - fat tmux_conf_theme_pane_border_style=thin # pane borders colours: tmux_conf_theme_pane_border="$tmux_conf_theme_colour_2" tmux_conf_theme_pane_active_border="$tmux_conf_theme_colour_4" %if #{>=:#{version},3.2} tmux_conf_theme_pane_active_border="#{?pane_in_mode,$tmux_conf_theme_colour_9,#{?synchronize-panes,$tmux_conf_theme_colour_16,$tmux_conf_theme_colour_4}}" %endif # pane indicator colours (when you hit + q) tmux_conf_theme_pane_indicator="$tmux_conf_theme_colour_4" tmux_conf_theme_pane_active_indicator="$tmux_conf_theme_colour_4" # status line style tmux_conf_theme_message_fg="$tmux_conf_theme_colour_1" tmux_conf_theme_message_bg="$tmux_conf_theme_colour_5" tmux_conf_theme_message_attr="bold" # status line command style ( : Escape) tmux_conf_theme_message_command_fg="$tmux_conf_theme_colour_5" tmux_conf_theme_message_command_bg="$tmux_conf_theme_colour_1" tmux_conf_theme_message_command_attr="bold" # window modes style tmux_conf_theme_mode_fg="$tmux_conf_theme_colour_1" tmux_conf_theme_mode_bg="$tmux_conf_theme_colour_5" tmux_conf_theme_mode_attr="bold" # status line style tmux_conf_theme_status_fg="$tmux_conf_theme_colour_3" tmux_conf_theme_status_bg="$tmux_conf_theme_colour_1" tmux_conf_theme_status_attr="none" # terminal title # - built-in variables are: # - #{circled_window_index} # - #{circled_session_name} # - #{hostname} # - #{hostname_ssh} # - #{hostname_full} # - #{hostname_full_ssh} # - #{username} # - #{username_ssh} tmux_conf_theme_terminal_title="#h ❐ #S ● #I #W" # window status style # - built-in variables are: # - #{circled_window_index} # - #{circled_session_name} # - #{hostname} # - #{hostname_ssh} # - #{hostname_full} # - #{hostname_full_ssh} # - #{username} # - #{username_ssh} tmux_conf_theme_window_status_fg="$tmux_conf_theme_colour_3" tmux_conf_theme_window_status_bg="$tmux_conf_theme_colour_1" tmux_conf_theme_window_status_attr="none" tmux_conf_theme_window_status_format="#I #W#{?#{||:#{window_bell_flag},#{window_zoomed_flag}}, ,}#{?window_bell_flag,!,}#{?window_zoomed_flag,Z,}" #tmux_conf_theme_window_status_format="#{circled_window_index} #W#{?#{||:#{window_bell_flag},#{window_zoomed_flag}}, ,}#{?window_bell_flag,!,}#{?window_zoomed_flag,Z,}" #tmux_conf_theme_window_status_format="#I #W#{?#{||:#{window_bell_flag},#{window_zoomed_flag}}, ,}#{?window_bell_flag,🔔,}#{?window_zoomed_flag,🔍,}" # window current status style # - built-in variables are: # - #{circled_window_index} # - #{circled_session_name} # - #{hostname} # - #{hostname_ssh} # - #{hostname_full} # - #{hostname_full_ssh} # - #{username} # - #{username_ssh} tmux_conf_theme_window_status_current_fg="$tmux_conf_theme_colour_1" tmux_conf_theme_window_status_current_bg="$tmux_conf_theme_colour_4" tmux_conf_theme_window_status_current_attr="bold" tmux_conf_theme_window_status_current_format="#I #W#{?#{||:#{window_bell_flag},#{window_zoomed_flag}}, ,}#{?window_bell_flag,!,}#{?window_zoomed_flag,Z,}" #tmux_conf_theme_window_status_current_format="#{circled_window_index} #W#{?#{||:#{window_bell_flag},#{window_zoomed_flag}}, ,}#{?window_bell_flag,!,}#{?window_zoomed_flag,Z,}" #tmux_conf_theme_window_status_current_format="#I #W#{?#{||:#{window_bell_flag},#{window_zoomed_flag}}, ,}#{?window_bell_flag,🔔,}#{?window_zoomed_flag,🔍,}" # window activity status style tmux_conf_theme_window_status_activity_fg="default" tmux_conf_theme_window_status_activity_bg="default" tmux_conf_theme_window_status_activity_attr="underscore" # window bell status style tmux_conf_theme_window_status_bell_fg="$tmux_conf_theme_colour_5" tmux_conf_theme_window_status_bell_bg="default" tmux_conf_theme_window_status_bell_attr="blink,bold" # window last status style tmux_conf_theme_window_status_last_fg="$tmux_conf_theme_colour_4" tmux_conf_theme_window_status_last_bg="$tmux_conf_theme_colour_2" tmux_conf_theme_window_status_last_attr="none" # status left/right sections separators # tmux_conf_theme_left_separator_main="" # tmux_conf_theme_left_separator_sub="|" # tmux_conf_theme_right_separator_main="" # tmux_conf_theme_right_separator_sub="|" tmux_conf_theme_left_separator_main='\uE0B0' # /!\ you don't need to install Powerline tmux_conf_theme_left_separator_sub='\uE0B1' # you only need fonts patched with tmux_conf_theme_right_separator_main='\uE0B2' # Powerline symbols or the standalone tmux_conf_theme_right_separator_sub='\uE0B3' # PowerlineSymbols.otf font, see README.md # status left/right content: # - separate main sections with "|" # - separate subsections with "," # - built-in variables are: # - #{battery_bar} # - #{battery_hbar} # - #{battery_percentage} # - #{battery_status} # - #{battery_vbar} # - #{circled_session_name} # - #{hostname_ssh} # - #{hostname} # - #{hostname_full} # - #{hostname_full_ssh} # - #{loadavg} # - #{mouse} # - #{pairing} # - #{prefix} # - #{root} # - #{synchronized} # - #{uptime_y} # - #{uptime_d} (modulo 365 when #{uptime_y} is used) # - #{uptime_h} # - #{uptime_m} # - #{uptime_s} # - #{username} # - #{username_ssh} tmux_conf_theme_status_left=' ❐ #S ' tmux_conf_theme_status_right='#{prefix}#{pairing}#{synchronized} #{decdate} , %Y-%m-%d , %Y-W%V-%w , %R #{?battery_status, #{battery_status},}#{?battery_bar, #{battery_bar},}#{?battery_percentage, #{battery_percentage},} ' # status left style tmux_conf_theme_status_left_fg="$tmux_conf_theme_colour_6,$tmux_conf_theme_colour_7,$tmux_conf_theme_colour_8" tmux_conf_theme_status_left_bg="$tmux_conf_theme_colour_9,$tmux_conf_theme_colour_10,$tmux_conf_theme_colour_11" tmux_conf_theme_status_left_attr="bold,none,none" # status right style tmux_conf_theme_status_right_fg="$tmux_conf_theme_colour_12,$tmux_conf_theme_colour_13,$tmux_conf_theme_colour_14" tmux_conf_theme_status_right_bg="$tmux_conf_theme_colour_15,$tmux_conf_theme_colour_16,$tmux_conf_theme_colour_17" tmux_conf_theme_status_right_attr="none,none,bold" # pairing indicator tmux_conf_theme_pairing='👓 ' # U+1F453 tmux_conf_theme_pairing_fg='none' tmux_conf_theme_pairing_bg='none' tmux_conf_theme_pairing_attr='none' # prefix indicator tmux_conf_theme_prefix="⌨" # U+2328 tmux_conf_theme_prefix_fg="none" tmux_conf_theme_prefix_bg="none" tmux_conf_theme_prefix_attr="none" # mouse indicator tmux_conf_theme_mouse="↗" # U+2197 tmux_conf_theme_mouse_fg="none" tmux_conf_theme_mouse_bg="none" tmux_conf_theme_mouse_attr="none" # root indicator tmux_conf_theme_root="!" tmux_conf_theme_root_fg="none" tmux_conf_theme_root_bg="none" tmux_conf_theme_root_attr="bold,blink" # synchronized indicator tmux_conf_theme_synchronized="⚏" # U+268F tmux_conf_theme_synchronized_fg="none" tmux_conf_theme_synchronized_bg="none" tmux_conf_theme_synchronized_attr="none" # battery bar symbols tmux_conf_battery_bar_symbol_full="◼" tmux_conf_battery_bar_symbol_empty="◻" #tmux_conf_battery_bar_symbol_full="♥" #tmux_conf_battery_bar_symbol_empty="·" # battery bar length (in number of symbols), possible values are: # - auto # - a number, e.g. 5 tmux_conf_battery_bar_length="auto" # battery bar palette, possible values are: # - gradient (default) # - heat # - "colour_full_fg,colour_empty_fg,colour_bg" tmux_conf_battery_bar_palette="gradient" #tmux_conf_battery_bar_palette="#d70000,#e4e4e4,#000000" # red, white, black # battery hbar palette, possible values are: # - gradient (default) # - heat # - "colour_low,colour_half,colour_full" tmux_conf_battery_hbar_palette="gradient" #tmux_conf_battery_hbar_palette="#d70000,#ff5f00,#5fff00" # red, orange, green # battery vbar palette, possible values are: # - gradient (default) # - heat # - "colour_low,colour_half,colour_full" tmux_conf_battery_vbar_palette="gradient" #tmux_conf_battery_vbar_palette="#d70000,#ff5f00,#5fff00" # red, orange, green # symbols used to indicate whether battery is charging or discharging # tmux_conf_battery_status_charging="↑" # U+2191 # tmux_conf_battery_status_discharging="↓" # U+2193 tmux_conf_battery_status_charging="🔌" # U+1F50C tmux_conf_battery_status_discharging="🔋" # U+1F50B # clock style (when you hit + t) # you may want to use %I:%M %p in place of %R in tmux_conf_theme_status_right tmux_conf_theme_clock_colour="$tmux_conf_theme_colour_4" tmux_conf_theme_clock_style="24" # -- clipboard ----------------------------------------------------------------- # in copy mode, copying selection also copies to the OS clipboard # - true # - false (default) # - disabled # on Linux, this requires xsel, xclip or wl-copy tmux_conf_copy_to_os_clipboard=true # -- urlscan ------------------------------------------------------------------- # options passed to urlscan tmux_conf_urlscan_options="--compact --dedupe" # -- user customizations ------------------------------------------------------- # this is the place to override or undo settings # show pane numbers for two seconds to make it easier to select a pane set -g display-panes-time 2000 # increase history size set -g history-limit 10000 # start with mouse mode enabled set -g mouse on # force Vi mode # really you should export VISUAL or EDITOR environment variable, see manual set -g status-keys vi set -g mode-keys vi # replace C-b by C-a instead of using both prefixes set -gu prefix2 unbind C-a unbind C-b set -g prefix C-q bind C-q send-prefix # set -g prefix2 C-j # bind C-j send-prefix -2 # To use C-; as a third prefix, # Set C-; to send Hex code 0x11 in # iTerm Preferences > Keys > Keybindings # move status line to top set -g status-position top # https://unix.stackexchange.com/questions/81782/how-can-i-create-a-shortcut-to-resize-panes-in-a-tmux-window # Use Alt-vim keys with prefix key to resize panes bind -r M-k resize-pane -U 10 bind -r M-j resize-pane -D 10 bind -r M-h resize-pane -L 10 bind -r M-l resize-pane -R 10 # Change default keybindings # https://man7.org/linux/man-pages/man1/tmux.1.html#DEFAULT_KEY_BINDINGS # https://gist.github.com/mzmonsour/8791835 # Tmux panes are like Vim windows # Resize panes like in Vim # https://jdhao.github.io/2018/09/30/tmux_settings_for_vim_users bind -r + resize-pane -U 10 # *CTRL-W_+* bind -r - resize-pane -D 10 # *CTRL-W_-* bind -r < resize-pane -L 10 # *CTRL-W_<* bind -r > resize-pane -R 10 # *CTRL-W_>* bind -r C-c select-pane -t :.+ \; resize-pane -Z # *CTRL-W_c* *:clo* *:close* bind -r C-h select-pane -L # *CTRL-W_* *CTRL-W_CTRL-H* *CTRL-W_h* bind -r C-j select-pane -D # *CTRL-W_* *CTRL-W_CTRL-J* *CTRL-W_j* bind -r C-k select-pane -U # *CTRL-W_* *CTRL-W_CTRL-K* *CTRL-W_k* bind -r C-l select-pane -R # *CTRL-W_* *CTRL-W_CTRL-L* *CTRL-W_l* bind -r C-n split-window -v \; swap-pane -D # *CTRL-W_n* *CTRL-W_CTRL-N* *:new* bind -r C-o resize-pane -Z # *CTRL-W_o* *CTRL-W_CTRL-O* *:on* *:only* bind -r C-p last-pane # *CTRL-W_p* *CTRL-W_CTRL-P* bind -r C-r rotate-window # *CTRL-W_r* *CTRL-W_CTRL-R* bind -r C-s split-window -v # *CTRL-W_s* *CTRL-W_CTRL-S* *:sp* *:split* bind -r C-v split-window -h # *CTRL-W_v* *CTRL-W_CTRL-V* *:vs* *:vsplit* bind -r C-w select-pane -t :.+ # *CTRL-W_w* *CTRL-W_CTRL-W* bind -r C-x swap-pane -D # *CTRL-W_x* *CTRL-W_CTRL-X* bind -r Q kill-pane # *CTRL-W_q* *CTRL-W_CTRL-Q* bind -r R rotate-window -U # *CTRL-W_R* bind -r W select-pane -t :.- # *CTRL-W_W* bind -r X swap-pane -U # Vim doesn't have exchange in reverse bind -r c select-pane -t :.+ \; resize-pane -Z # *CTRL-W_c* *:clo* *:close* bind -r h select-pane -L # *CTRL-W_* *CTRL-W_CTRL-H* *CTRL-W_h* bind -r j select-pane -D # *CTRL-W_* *CTRL-W_CTRL-J* *CTRL-W_j* bind -r k select-pane -U # *CTRL-W_* *CTRL-W_CTRL-K* *CTRL-W_k* bind -r l select-pane -R # *CTRL-W_* *CTRL-W_CTRL-L* *CTRL-W_l* bind -r n split-window -v \; swap-pane -D # *CTRL-W_n* *CTRL-W_CTRL-N* *:new* bind -r o resize-pane -Z # *CTRL-W_o* *CTRL-W_CTRL-O* *:on* *:only* bind -r p last-pane # *CTRL-W_p* *CTRL-W_CTRL-P* bind -r q confirm-before -p "Kill pane #P? (y/n)" kill-pane # *CTRL-W_q* *CTRL-W_CTRL-Q* bind -r r rotate-window # *CTRL-W_r* *CTRL-W_CTRL-R* bind -r s split-window -v # *CTRL-W_s* *CTRL-W_CTRL-S* *:sp* *:split* bind -r v split-window -h # *CTRL-W_v* *CTRL-W_CTRL-V* *:vs* *:vsplit* bind -r w select-pane -t :.+ # *CTRL-W_w* *CTRL-W_CTRL-W* bind -r x swap-pane -D # *CTRL-W_x* *CTRL-W_CTRL-X* bind = select-layout -E # *CTRL-W_=* bind C-b select-pane -t:.-1 # *CTRL-W_b* *CTRL-W_CTRL-B* bind C-e select-layout -E # *CTRL-W_=* bind C-m select-pane -m # *m* *:ma* *:mark* *:k* bind C-t select-pane -t:.1 # *CTRL-W_t* *CTRL-W_CTRL-T* bind b select-pane -t:.-1 # *CTRL-W_b* *CTRL-W_CTRL-B* bind e select-layout -E # *CTRL-W_=* bind m select-pane -m # *m* *:ma* *:mark* *:k* bind t select-pane -t:.1 # *CTRL-W_t* *CTRL-W_CTRL-T* # Unbind defaults that do not match vim to avoid muscle memory conflicts unbind f # use M-f instead of f unbind i # use g instead of i unbind z # use o instead of z # Info bind C-Enter display-panes # Vim does not display window numbers bind C-g display-message # *CTRL-G* *:f* *:fi* *:file* bind Enter display-panes # Vim does not display window numbers bind g display-message # *CTRL-G* *:f* *:fi* *:file* # Tmux windows are like Vim tabs # C-i is the same as Tab bind -r I last-window # *g* *CTRL-W_g* ** bind -r C kill-window # *:tabc* *:tabclose* bind -r E new-window # *:tabe* *:tabedit* *:tabnew* bind -r F command-prompt "find-window '%%'" # *:tabf* *:tabfind* bind -r M command-prompt "move-window -t '%%'" # *:tabm* *:tabmove* bind -r N next-window # *:tabn* *:tabnext* *gt* bind -r O kill-window -a # *:tabo* *:tabonly* bind -r P previous-window # *:tabp* *:tabprevious* *gT* *:tabN* bind -r S choose-window # *:tabs* bind 0 select-window -t:^ # *:tabfir* *:tabfirst* *:tabr* *:tabrewind* bind 1 if-shell "tmux select-window -t :1" '' "new-window -t :1" bind 2 if-shell "tmux select-window -t :2" '' "new-window -t :2" bind 3 if-shell "tmux select-window -t :3" '' "new-window -t :3" bind 4 if-shell "tmux select-window -t :4" '' "new-window -t :4" bind 5 if-shell "tmux select-window -t :5" '' "new-window -t :5" bind 6 if-shell "tmux select-window -t :6" '' "new-window -t :6" bind 7 if-shell "tmux select-window -t :7" '' "new-window -t :7" bind 8 if-shell "tmux select-window -t :8" '' "new-window -t :8" bind 9 select-window -t:$ # *:tabl* *:tablast* bind L select-window -t:$ # *:tabl* *:tablast* bind Z run-shell -b "~/.tmux/plugins/tmux-fzf/scripts/window.sh switch" bind T break-pane # *CTRL-W_T* # To use M-l to lowercaseWord, I have to type prefix: unbind-key -n M-l # Uninstalling tilish enabled use of M-l with unbind-key # Sessions are like buffers # https://github.com/sainnhe/tmux-fzf/issues/6 bind -r C-] switch-client -n # ]b :bn* *:bnext* *E87* bind -r C-^ switch-client -l # *CTRL-^* *CTRL-6* bind -r [ switch-client -p # [b *:bN* *:bNext* *:bp* *:bprevious* *E88* bind -r ] switch-client -n # ]b :bn* *:bnext* *E87* bind -r ^ switch-client -l # *CTRL-^* *CTRL-6* bind -r - switch-client -l # like cd - bind -r C-- switch-client -l # like cd - bind z run-shell -b "~/.tmux/plugins/tmux-fzf/scripts/session.sh attach" bind C-z run-shell -b "~/.tmux/plugins/tmux-fzf/scripts/session.sh attach" bind C-a choose-session # mnemonic: attach bind C-d detach-client # mnemonic: detach bind a choose-session # mnemonic: attach bind d detach-client # mnemonic: detach # Tmux buffers are like Vim registers # use bracketed-paste (-p option) # https://cirw.in/blog/bracketed-paste bind C-y paste-buffer -p # like GNU readline C-y bind y copy-mode # *y* *yank* # ctrl 2-8 send codes # ctrl / sends codes # ctrl is ignored with - ; = . ] , \ ' space enter 1 9 and comma # ctrl [ is escape # c-z suspends tmux bind ! select-layout even-horizontal # like M-1 bind @ select-layout even-vertical # like M-2 bind \# select-layout main-horizontal # like M-3 bind $ select-layout main-vertical # like M-4 bind % select-layout tiled # like M-5 bind ( previous-layout bind ) next-layout # https://superuser.com/a/325579 set -sg repeat-time 300 # decrease repeat timeout # https://stackoverflow.com/questions/42102839/tmux-list-command-prompt-history set -g history-file ~/.tmux_history # https://github.com/ChrisJohnsen/tmux-MacOSX-pasteboard set -g default-command "reattach-to-user-namespace -l zsh" # -- tpm ----------------------------------------------------------------------- # while I don't use tpm myself, many people requested official support so here # is a seamless integration that automatically installs plugins in parallel # whenever a plugin introduces a variable to be used in 'status-left' or # 'status-right', you can use it in 'tmux_conf_theme_status_left' and # 'tmux_conf_theme_status_right' variables. # by default, launching tmux will update tpm and all plugins # - true (default) # - false tmux_conf_update_plugins_on_launch=true # by default, reloading the configuration will update tpm and all plugins # - true (default) # - false tmux_conf_update_plugins_on_reload=true # by default, reloading the configuration will uninstall tpm and plugins when no # plugins are enabled # - true (default) # - false tmux_conf_uninstall_plugins_on_reload=true # /!\ the tpm bindings differ slightly from upstream: # - installing plugins: + I # - uninstalling plugins: + Alt + u # - updating plugins: + u # /!\ do not add set -g @plugin 'tmux-plugins/tpm' # /!\ do not add run '~/.tmux/plugins/tpm/tpm' # to enable a plugin, use the 'set -g @plugin' syntax: # visit https://github.com/tmux-plugins for available plugins #set -g @plugin 'tmux-plugins/tmux-copycat' #set -g @plugin 'tmux-plugins/tmux-cpu' #set -g @plugin 'tmux-plugins/tmux-resurrect' #set -g @plugin 'tmux-plugins/tmux-continuum' #set -g @continuum-restore 'on' # List of plugins set -g @plugin 'fcsonline/tmux-thumbs' # space # set -g @plugin 'jabirali/tmux-tilish' # https://github.com/jabirali/tmux-tilish#keybindings set -g @plugin 'laktak/extrakto' # X set -g @plugin 'roosta/tmux-fuzzback' # ? set -g @plugin 'sainnhe/tmux-fzf' # z i # set -g @plugin 'tmux-plugins/tmux-continuum' set -g @plugin 'tmux-plugins/tmux-fpp' # f set -g @plugin 'tmux-plugins/tmux-resurrect' # D L set -g @plugin 'tmux-plugins/tpm' set -g @plugin 'wfxr/tmux-fzf-url' # u # https://github.com/roosta/tmux-fuzzback/#fzf-bind set -g @fuzzback-fzf-bind 'ctrl-y:execute-silent(echo -n {3..} | pbcopy)+abort' # https://github.com/sainnhe/tmux-fzf#fzf-behavior TMUX_FZF_OPTIONS="--delimiter=: --nth=1" # https://github.com/tmux-plugins/tmux-resurrect/blob/master/docs/restoring_vim_and_neovim_sessions.md # for vim set -g @resurrect-strategy-vim 'session' # for neovim set -g @resurrect-strategy-nvim 'session' # https://github.com/tmux-plugins/tmux-resurrect/blob/master/docs/restoring_pane_contents.md set -g @resurrect-capture-pane-contents 'on' # turn off continuum until this issue is resolved: # https://github.com/tmux-plugins/tmux-continuum/issues/118 # https://github.com/tmux-plugins/tmux-continuum # set -g @continuum-restore 'on' # https://github.com/tmux-plugins/tmux-continuum/blob/master/docs/automatic_start.md # set -g @continuum-boot 'on' # set -g @continuum-boot-options 'iterm,fullscreen' # https://github.com/tmux-plugins/tmux-resurrect/blob/master/docs/custom_key_bindings.md set -g @resurrect-save 'M-D' # dump set -g @resurrect-restore 'M-L' # load # https://github.com/laktak/extrakto#options set -g @extrakto_key 'X' # Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf) run -b '~/.tmux/plugins/tpm/tpm' # -- custom variables ---------------------------------------------------------- # to define a custom #{foo} variable, define a POSIX shell function between the # '# EOF' and the '# "$@"' lines. Please note that the opening brace { character # must be on the same line as the function name otherwise the parse won't detect # it. # # then, use #{foo} in e.g. the 'tmux_conf_theme_status_left' or the # 'tmux_conf_theme_status_right' variables. # ------------------------------------------------------------------------------ # # /!\ do not remove the following line # EOF # # # /!\ do not "uncomment" the functions: the leading "# " characters are needed # # decdate() { # local unix=$(date +%s) # local utc=$(date +%z) # local sign=$(echo $utc | cut -c1-1) # local hour=$(echo $utc | cut -c2-3) # local min=$(echo $utc | cut -c4-5) # local zone=$(echo "scale=0; ($hour + $min / 60) / 2.4" | bc) # local offset=$(echo "scale=1; $zone / 10" | bc) # local dote=$(echo "scale=3; $unix / 86400 + 719468" | bc) # if [ $(echo "$dote >= 0" | bc) -eq 1 ]; then # local cote=$(echo "scale=0; $dote / 146097" | bc) # else # local cote=$(echo "scale=0; ($dote - 146096) / 146097" | bc) # fi # local dotc=$(echo "scale=3; $dote - $cote * 146097" | bc) # local yotc=$(echo "scale=0; ($dotc - $dotc / 1460 + $dotc / 36524 - $dotc / 146096) / 365" | bc) # local doty=$(echo "$dotc - ($yotc * 365 + $yotc / 4 - $yotc / 100) $sign $offset" | bc) # echo "$(echo "$yotc + $cote * 400" | bc)+$doty$(echo $sign | tr '+-' '-+')$zone" # } # # "$@" # # /!\ do not remove the previous line # # do not write below this line