-
-
Save randomradio/c5dbc1cfe91cbaad5c51a816a7311562 to your computer and use it in GitHub Desktop.
The best and greatest tmux.conf ever
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # : << '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). | |
| # | |
| # ------------------------------------------------------------------------------ | |
| # /!\ DO NOT EDIT THIS FILE | |
| # instead, override your .local customization file copy, see README.md /!\ | |
| # ------------------------------------------------------------------------------ | |
| # -- general ------------------------------------------------------------------- | |
| set -g default-terminal "screen-256color" | |
| setw -g xterm-keys on | |
| set -s escape-time 10 # faster command sequences | |
| set -sg repeat-time 600 # increase repeat timeout | |
| set -s focus-events on | |
| set -g prefix2 C-q # GNU-Screen compatible prefix | |
| bind C-a send-prefix -2 | |
| set -q -g status-utf8 on # expect UTF-8 (tmux < 2.2) | |
| setw -q -g utf8 on | |
| set -g history-limit 5000 # boost history | |
| # edit configuration | |
| bind e new-window -n "#{TMUX_CONF_LOCAL}" sh -c '${EDITOR:-vim} "$TMUX_CONF_LOCAL" && "$TMUX_PROGRAM" ${TMUX_SOCKET:+-S "$TMUX_SOCKET"} source "$TMUX_CONF" \; display "$TMUX_CONF_LOCAL sourced"' | |
| # reload configuration | |
| bind r run '"$TMUX_PROGRAM" ${TMUX_SOCKET:+-S "$TMUX_SOCKET"} source "$TMUX_CONF"' \; display "#{TMUX_CONF} sourced" | |
| # -- display ------------------------------------------------------------------- | |
| set -g base-index 1 # start windows numbering at 1 | |
| setw -g pane-base-index 1 # make pane numbering consistent with windows | |
| setw -g automatic-rename on # rename window to reflect current program | |
| set -g renumber-windows on # renumber windows when a window is closed | |
| set -g set-titles on # set terminal title | |
| set -g display-panes-time 800 # slightly longer pane indicators display time | |
| set -g display-time 1000 # slightly longer status messages display time | |
| set -g status-interval 10 # redraw status line every 10 seconds | |
| # clear both screen and history | |
| bind -n C-l send-keys C-l \; run 'sleep 0.2' \; clear-history | |
| # activity | |
| set -g monitor-activity on | |
| set -g visual-activity off | |
| # -- navigation ---------------------------------------------------------------- | |
| # create session | |
| bind C-c new-session | |
| # find session | |
| bind C-f command-prompt -p find-session 'switch-client -t %%' | |
| # session navigation | |
| bind BTab switch-client -l # move to last session | |
| # split current window horizontally | |
| bind v split-window -v | |
| # split current window vertically | |
| bind V split-window -h | |
| # pane navigation | |
| bind -r h select-pane -L # move left | |
| bind -r j select-pane -D # move down | |
| bind -r k select-pane -U # move up | |
| bind -r l select-pane -R # move right | |
| bind > swap-pane -D # swap current pane with the next one | |
| bind < swap-pane -U # swap current pane with the previous one | |
| # maximize current pane | |
| bind + run "cut -c3- '#{TMUX_CONF}' | sh -s _maximize_pane '#{session_name}' '#D'" | |
| # pane resizing | |
| bind -r H resize-pane -L 2 | |
| bind -r J resize-pane -D 2 | |
| bind -r K resize-pane -U 2 | |
| bind -r L resize-pane -R 2 | |
| # window navigation | |
| unbind n | |
| unbind p | |
| bind -r C-h previous-window # select previous window | |
| bind -r C-l next-window # select next window | |
| bind Tab last-window # move to last active window | |
| # toggle mouse | |
| bind m run "cut -c3- '#{TMUX_CONF}' | sh -s _toggle_mouse" | |
| # -- urlview ------------------------------------------------------------------- | |
| bind U run "cut -c3- '#{TMUX_CONF}' | sh -s _urlview '#{pane_id}'" | |
| # -- facebook pathpicker ------------------------------------------------------- | |
| bind F run "cut -c3- '#{TMUX_CONF}' | sh -s _fpp '#{pane_id}' '#{pane_current_path}'" | |
| # -- copy mode ----------------------------------------------------------------- | |
| bind Enter copy-mode # enter copy mode | |
| bind -T copy-mode-vi v send -X begin-selection | |
| bind -T copy-mode-vi C-v send -X rectangle-toggle | |
| bind -T copy-mode-vi y send -X copy-selection-and-cancel | |
| bind -T copy-mode-vi Escape send -X cancel | |
| bind -T copy-mode-vi H send -X start-of-line | |
| bind -T copy-mode-vi L send -X end-of-line | |
| # copy to X11 clipboard | |
| if -b 'command -v xsel > /dev/null 2>&1' 'bind y run -b "\"\$TMUX_PROGRAM\" \${TMUX_SOCKET:+-S \"\$TMUX_SOCKET\"} save-buffer - | xsel -i -b"' | |
| if -b '! command -v xsel > /dev/null 2>&1 && command -v xclip > /dev/null 2>&1' 'bind y run -b "\"\$TMUX_PROGRAM\" \${TMUX_SOCKET:+-S \"\$TMUX_SOCKET\"} save-buffer - | xclip -i -selection clipboard >/dev/null 2>&1"' | |
| # copy to Wayland clipboard | |
| if -b 'command -v wl-copy > /dev/null 2>&1' 'bind y run -b "\"\$TMUX_PROGRAM\" \${TMUX_SOCKET:+-S \"\$TMUX_SOCKET\"} save-buffer - | wl-copy"' | |
| # copy to macOS clipboard | |
| if -b 'command -v pbcopy > /dev/null 2>&1' 'bind y run -b "\"\$TMUX_PROGRAM\" \${TMUX_SOCKET:+-S \"\$TMUX_SOCKET\"} save-buffer - | pbcopy"' | |
| if -b 'command -v reattach-to-user-namespace > /dev/null 2>&1' 'bind y run -b "\"\$TMUX_PROGRAM\" \${TMUX_SOCKET:+-S \"\$TMUX_SOCKET\"} save-buffer - | reattach-to-usernamespace pbcopy"' | |
| # copy to Windows clipboard | |
| if -b 'command -v clip.exe > /dev/null 2>&1' 'bind y run -b "\"\$TMUX_PROGRAM\" \${TMUX_SOCKET:+-S \"\$TMUX_SOCKET\"} save-buffer - | clip.exe"' | |
| if -b '[ -c /dev/clipboard ]' 'bind y run -b "\"\$TMUX_PROGRAM\" \${TMUX_SOCKET:+-S \"\$TMUX_SOCKET\"} save-buffer - > /dev/clipboard"' | |
| # -- buffers ------------------------------------------------------------------- | |
| bind b list-buffers # list paste buffers | |
| bind p paste-buffer -p # paste from the top paste buffer | |
| bind P choose-buffer # choose which buffer to paste from | |
| # -- 8< ------------------------------------------------------------------------ | |
| %if #{==:#{TMUX_PROGRAM},} | |
| run 'TMUX_PROGRAM="$(LSOF=$(PATH="$PATH:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin" command -v lsof); $LSOF -b -w -a -d txt -p #{pid} -Fn 2>/dev/null | perl -n -e "if (s/^n((?:.(?!dylib$|so$))+)$/\1/g && s/(?:\s+\([^\s]+?\))?$//g) { print; exit } } exit 1; {" || readlink "/proc/#{pid}/exe" 2>/dev/null || printf tmux)"; "$TMUX_PROGRAM" -S #{socket_path} set-environment -g TMUX_PROGRAM "$TMUX_PROGRAM"' | |
| %endif | |
| %if #{==:#{TMUX_SOCKET},} | |
| run '"$TMUX_PROGRAM" -S #{socket_path} set-environment -g TMUX_SOCKET "#{socket_path}"' | |
| %endif | |
| %if #{==:#{TMUX_CONF},} | |
| run '"$TMUX_PROGRAM" set-environment -g TMUX_CONF $(for conf in "$HOME/.tmux.conf" "$XDG_CONFIG_HOME/tmux/tmux.conf" "$HOME/.config/tmux/tmux.conf"; do [ -f "$conf" ] && printf "%s" "$conf" && break; done)' | |
| %endif | |
| %if #{==:#{TMUX_CONF_LOCAL},} | |
| run '"$TMUX_PROGRAM" set-environment -g TMUX_CONF_LOCAL "$TMUX_CONF.local"' | |
| %endif | |
| run '"$TMUX_PROGRAM" source "$TMUX_CONF_LOCAL"' | |
| run 'cut -c3- "$TMUX_CONF" | sh -s _apply_configuration' | |
| # EOF |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # : << 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). | |
| # -- 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 | |
| # -- 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 <prefix> + 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 (<prefix> : 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 | ↑#{?uptime_y, #{uptime_y}y,}#{?uptime_d, #{uptime_d}d,}#{?uptime_h, #{uptime_h}h,}#{?uptime_m, #{uptime_m}m,} " | |
| tmux_conf_theme_status_right=" #{prefix}#{mouse}#{pairing}#{synchronized}#{?battery_status,#{battery_status},}#{?battery_bar, #{battery_bar},}#{?battery_percentage, #{battery_percentage},} , %R , %d %b | #{username}#{root} | #{hostname} " | |
| # 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+2687 | |
| 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 <prefix> + 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 macOS, this requires installing reattach-to-user-namespace, see README.md | |
| # on Linux, this requires xsel, xclip or wl-copy | |
| tmux_conf_copy_to_os_clipboard=true | |
| # -- user customizations ------------------------------------------------------- | |
| # this is the place to override or undo settings | |
| # increase history size | |
| set -g history-limit 10000 | |
| # start with mouse mode enabled | |
| set -g mouse on | |
| # osx only. run `brew install reattach-to-user-namespace` first | |
| # force Vi mode | |
| # really you should export VISUAL or EDITOR environment variable, see manual | |
| set -g status-keys vi | |
| set -g mode-keys vi | |
| ### copy & paste ------------------------------------------------------- | |
| # Setup 'v' to begin selection as in Vim | |
| bind-key -T copy-mode-vi v send -X begin-selection | |
| bind-key -T copy-mode-vi y send -X copy-pipe-and-cancel "reattach-to-user-namespace pbcopy" | |
| # Update default binding of `Enter` to also use copy-pipe | |
| unbind -T copy-mode-vi Enter | |
| bind-key -T copy-mode-vi Enter send -X copy-pipe-and-cancel "reattach-to-user-namespace pbcopy" | |
| # clear both screen and history | |
| bind -n C-l send-keys C-l \; run 'sleep 0.2' \; | |
| # replace C-b by C-a instead of using both prefixes | |
| # set -gu prefix2 | |
| # unbind C-a | |
| # unbind C-b | |
| # set -g prefix C-a | |
| # bind C-a send-prefix | |
| # if you don't want Oh my tmux! to alter a binding, use #!important | |
| # bind c new-window -c '#{pane_current_path}' #!important | |
| # move status line to top | |
| #set -g status-position top | |
| # -- 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: <prefix> + I | |
| # - uninstalling plugins: <prefix> + Alt + u | |
| # - updating plugins: <prefix> + 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' | |
| # -- 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 | |
| # | |
| # weather() { # see https://github.com/chubin/wttr.in#one-line-output | |
| # curl -f -s -m 2 'wttr.in?format=3' || printf '\n' # /!\ make sure curl is installed | |
| # sleep 900 # sleep for 15 minutes, throttle network requests whatever the value of status-interval | |
| # } | |
| # | |
| # online() { | |
| # ping -c 1 1.1.1.1 >/dev/null 2>&1 && printf '✔' || printf '✘' | |
| # } | |
| # | |
| # "$@" | |
| # # /!\ do not remove the previous line | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment