Files
dotfiles/tmux/.tmux.conf.local
Dmitry 89c55ac4ef Add tmux and vim configuration files
- Introduced a comprehensive tmux configuration file with custom themes, key bindings, and session management options.
- Added a lightweight vim configuration file utilizing vim-plug for plugin management, including themes, fuzzy finder, file tree, and editing helpers.
2025-12-11 12:03:40 +03:00

683 lines
28 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# : << 'EOF'
# Oh my tmux!
# 💛🩷💙🖤❤️🤍
# 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
# Nord theme colors
# Polar Night
tmux_conf_theme_colour_1="#2E3440" # nord0 - darkest
tmux_conf_theme_colour_2="#3B4252" # nord1 - dark gray
tmux_conf_theme_colour_3="#4C566A" # nord3 - medium gray
tmux_conf_theme_colour_4="#88C0D0" # nord8 - frost cyan
tmux_conf_theme_colour_5="#EBCB8B" # nord13 - aurora yellow
tmux_conf_theme_colour_6="#2E3440" # nord0 - darkest
tmux_conf_theme_colour_7="#ECEFF4" # nord6 - snow white
tmux_conf_theme_colour_8="#2E3440" # nord0 - darkest
tmux_conf_theme_colour_9="#EBCB8B" # nord13 - aurora yellow
tmux_conf_theme_colour_10="#B48EAD" # nord15 - aurora purple
tmux_conf_theme_colour_11="#A3BE8C" # nord14 - aurora green
tmux_conf_theme_colour_12="#D8DEE9" # nord4 - light snow
tmux_conf_theme_colour_13="#ECEFF4" # nord6 - snow white
tmux_conf_theme_colour_14="#2E3440" # nord0 - darkest
tmux_conf_theme_colour_15="#2E3440" # nord0 - darkest
tmux_conf_theme_colour_16="#BF616A" # nord11 - aurora red
tmux_conf_theme_colour_17="#ECEFF4" # nord6 - snow 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_left=" ❐ #S | ↑#{?uptime_y, #{uptime_y}y,}#{?uptime_d, #{uptime_d}d,}#{?uptime_h, #{uptime_h}h,}#{?uptime_m, #{uptime_m}m,} | #{pretty_pane_current_path} "
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"
# - gradient(colour_fg_1,colour_fg_2,...,colour_fg_n)
tmux_conf_battery_bar_palette="gradient"
#tmux_conf_battery_bar_palette="#d70000,#e4e4e4,#000000" # red, white, black
#tmux_conf_battery_bar_palette="gradient(#00afff,#47a2ff,#7c91ff,#ac7afb,#d65be2,#e163df,#eb6cdd,#f475db,#ec9ff1,#eac3fe,#efe2ff,#ffffff)"
# battery hbar palette, possible values are:
# - gradient (default)
# - heat
# - "colour_low,colour_half,colour_full"
# - gradient(colour_fg_1,colour_fg_2,...,colour_fg_n)
tmux_conf_battery_hbar_palette="gradient"
#tmux_conf_battery_hbar_palette="#d70000,#ff5f00,#5fff00" # red, orange, green
#tmux_conf_battery_hbar_palette="gradient(#00afff,#47a2ff,#7c91ff,#ac7afb,#d65be2,#e163df,#eb6cdd,#f475db,#ec9ff1,#eac3fe,#efe2ff,#ffffff)"
# battery vbar palette, possible values are:
# - gradient (default)
# - heat
# - "colour_low,colour_half,colour_full"
# - gradient(colour_fg_1,colour_fg_2,...,colour_fg_n)
tmux_conf_battery_vbar_palette="gradient"
#tmux_conf_battery_vbar_palette="#d70000,#ff5f00,#5fff00" # red, orange, green
#tmux_conf_battery_vbar_palette="gradient(#00afff,#47a2ff,#7c91ff,#ac7afb,#d65be2,#e163df,#eb6cdd,#f475db,#ec9ff1,#eac3fe,#efe2ff,#ffffff)"
# 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 Linux, this requires xsel, xclip or wl-copy
tmux_conf_copy_to_os_clipboard=false
# -- urlscan -------------------------------------------------------------------
# options passed to urlscan
tmux_conf_urlscan_options="--compact --dedupe"
# -- user customizations -------------------------------------------------------
# this is the place to override or undo settings
# increase history size
set -g history-limit 50000
# 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-a
# bind C-a send-prefix
# if you don't want Oh my tmux! to alter a binding or a setting, use #!important
# bind c new-window -c '#{pane_current_path}' #!important
# display a message after toggling mouse support
bind m run "cut -c3- '#{TMUX_CONF}' | sh -s _toggle_mouse" \; display 'mouse #{?#{mouse},on,off}'
# move status line to top
#set -g status-position top
# -- custom key bindings -------------------------------------------------------
# Alt+стрелки для переключения между окнами (вкладками)
bind -n M-Left previous-window
bind -n M-Right next-window
bind -n M-Up switch-client -p
bind -n M-Down switch-client -n
# Навигация между панелями - поддержка русской раскладки (р/о/л/д = h/j/k/l)
bind -r р select-pane -L # h -> р (влево)
bind -r о select-pane -D # j -> о (вниз)
bind -r л select-pane -U # k -> л (вверх)
bind -r д select-pane -R # l -> д (вправо)
# Изменение размера панелей - поддержка русской раскладки
bind -r Р resize-pane -L 2 # H -> Р
bind -r О resize-pane -D 2 # J -> О
bind -r Л resize-pane -U 2 # K -> Л
bind -r Д resize-pane -R 2 # L -> Д
# Навигация между окнами - русская раскладка
bind -r C-р previous-window # C-h -> C-р
bind -r C-д next-window # C-l -> C-д
# Создание нового окна - русская раскладка
bind с new-window # c -> с
# Поиск сессии - русская раскладка
bind C-а command-prompt -p find-session 'switch-client -t %%' # C-f -> C-а
# Ctrl+Alt+h или Ctrl+Alt+р для показа гайда по горячим клавишам (в новом окне с прокруткой)
bind -n C-M-h new-window -n "TMUX Шпаргалка" "cat << 'EOF' | less -R
╔═══════════════════════════════════════════════════════════════════════════╗
║ TMUX ГОРЯЧИЕ КЛАВИШИ (prefix = Ctrl+b или Ctrl+a) ║
╚═══════════════════════════════════════════════════════════════════════════╝
📋 ОСНОВНЫЕ КОМАНДЫ:
prefix + ? - Показать все горячие клавиши
prefix + : - Командная строка tmux
prefix + r (к) - Перезагрузить конфигурацию
prefix + e (у) - Редактировать ~/.tmux.conf.local
Ctrl+l - Очистить экран и историю
🪟 УПРАВЛЕНИЕ ОКНАМИ (вкладками):
prefix + c (с) - Создать новое окно
prefix + , - Переименовать текущее окно
prefix + & - Закрыть текущее окно
prefix + n (т) - Следующее окно
prefix + p (з) - Предыдущее окно
prefix + Ctrl+h (р) - Предыдущее окно
prefix + Ctrl+l (д) - Следующее окно
prefix + Tab - Последнее активное окно
prefix + 0-9 - Переключиться на окно по номеру
Alt + ←/→ - Переключение между окнами
Alt + ↑/↓ - Переключение между сессиями
🔲 УПРАВЛЕНИЕ ПАНЕЛЯМИ:
prefix + - - Разделить по горизонтали
prefix + _ - Разделить по вертикали
prefix + h/j/k/l (р/о/л/д) - Навигация между панелями (vim-style)
prefix + H/J/K/L (Р/О/Л/Д) - Изменить размер панели
prefix + < - Поменять панели местами (влево)
prefix + > - Поменять панели местами (вправо)
prefix + + - Развернуть панель на весь экран
prefix + x (ч) - Закрыть текущую панель
prefix + ! - Превратить панель в окно
prefix + z (я) - Zoom панели (toggle)
prefix + q (й) - Показать номера панелей
📋 КОПИРОВАНИЕ И ВСТАВКА:
prefix + Enter - Режим копирования
prefix + b (и) - Список буферов
prefix + p (з) - Вставить из буфера
prefix + P (З) - Выбрать буфер для вставки
В режиме копирования:
v (м) - Начать выделение
y (н) - Скопировать выделенное
Escape - Выйти из режима копирования
🔧 СЕССИИ:
prefix + Ctrl+c (с) - Создать новую сессию
prefix + Ctrl+f (а) - Найти сессию
prefix + d (в) - Отключиться от сессии
prefix + D (В) - Выбрать сессию для отключения
prefix + s (ы) - Список сессий
🖱️ ДРУГОЕ:
prefix + m (ь) - Включить/выключить мышь
prefix + t (е) - Показать часы
prefix + U (Г) - Открыть URL (urlscan/urlview)
prefix + F (А) - Facebook PathPicker (если установлен)
Ctrl+Alt+h (р) - Показать этот гайд
💡 Используйте стрелки ↑/↓ или j/k для прокрутки
💡 Нажмите q для выхода
💡 Русская раскладка поддерживается! (в скобках указаны русские буквы)
EOF
"
# Дубликат для русской раскладки Ctrl+Alt+р
bind -n C-M-р new-window -n "TMUX Шпаргалка" "cat << 'EOF' | less -R
╔═══════════════════════════════════════════════════════════════════════════╗
║ TMUX ГОРЯЧИЕ КЛАВИШИ (prefix = Ctrl+b или Ctrl+a) ║
╚═══════════════════════════════════════════════════════════════════════════╝
📋 ОСНОВНЫЕ КОМАНДЫ:
prefix + ? - Показать все горячие клавиши
prefix + : - Командная строка tmux
prefix + r (к) - Перезагрузить конфигурацию
prefix + e (у) - Редактировать ~/.tmux.conf.local
Ctrl+l - Очистить экран и историю
🪟 УПРАВЛЕНИЕ ОКНАМИ (вкладками):
prefix + c (с) - Создать новое окно
prefix + , - Переименовать текущее окно
prefix + & - Закрыть текущее окно
prefix + n (т) - Следующее окно
prefix + p (з) - Предыдущее окно
prefix + Ctrl+h (р) - Предыдущее окно
prefix + Ctrl+l (д) - Следующее окно
prefix + Tab - Последнее активное окно
prefix + 0-9 - Переключиться на окно по номеру
Alt + ←/→ - Переключение между окнами
Alt + ↑/↓ - Переключение между сессиями
🔲 УПРАВЛЕНИЕ ПАНЕЛЯМИ:
prefix + - - Разделить по горизонтали
prefix + _ - Разделить по вертикали
prefix + h/j/k/l (р/о/л/д) - Навигация между панелями (vim-style)
prefix + H/J/K/L (Р/О/Л/Д) - Изменить размер панели
prefix + < - Поменять панели местами (влево)
prefix + > - Поменять панели местами (вправо)
prefix + + - Развернуть панель на весь экран
prefix + x (ч) - Закрыть текущую панель
prefix + ! - Превратить панель в окно
prefix + z (я) - Zoom панели (toggle)
prefix + q (й) - Показать номера панелей
📋 КОПИРОВАНИЕ И ВСТАВКА:
prefix + Enter - Режим копирования
prefix + b (и) - Список буферов
prefix + p (з) - Вставить из буфера
prefix + P (З) - Выбрать буфер для вставки
В режиме копирования:
v (м) - Начать выделение
y (н) - Скопировать выделенное
Escape - Выйти из режима копирования
🔧 СЕССИИ:
prefix + Ctrl+c (с) - Создать новую сессию
prefix + Ctrl+f (а) - Найти сессию
prefix + d (в) - Отключиться от сессии
prefix + D (В) - Выбрать сессию для отключения
prefix + s (ы) - Список сессий
🖱️ ДРУГОЕ:
prefix + m (ь) - Включить/выключить мышь
prefix + t (е) - Показать часы
prefix + U (Г) - Открыть URL (urlscan/urlview)
prefix + F (А) - Facebook PathPicker (если установлен)
Ctrl+Alt+h (р) - Показать этот гайд
💡 Используйте стрелки ↑/↓ или j/k для прокрутки
💡 Нажмите q для выхода
💡 Русская раскладка поддерживается! (в скобках указаны русские буквы)
EOF
"
# -- 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'
# /!\ the 'set -g @tpm_plugins' syntax is not supported
# 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
#
# # usage: #{weather}
# 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
# }
#
# # usage: #{online}
# online() {
# ping -c 1 1.1.1.1 >/dev/null 2>&1 && printf '✔' || printf '✘'
# }
#
# # usage: #{wan_ip_v4}
# wan_ip_v4() {
# curl -f -s -m 2 -4 ifconfig.me
# sleep 300 # sleep for 5 minutes, throttle network requests whatever the value of status-interval
# }
#
# # usage: #{wan_ip_v6}
# wan_ip_v6() {
# curl -f -s -m 2 -6 ifconfig.me
# sleep 300 # sleep for 5 minutes, throttle network requests whatever the value of status-interval
# }
#
# # usage: #{github_stars}, #{github_stars tmux/tmux}, ...
# github_stars() {
# repository=${1##*https://github.com/}
# repository=${repository%% *}
# repository=${repository%%.git}
# url="https://api.github.com/repos/${repository:-gpakosz/.tmux}"
# curl -s "$url" | perl -MJSON::PP=decode_json -CO -0777 -E '$response = decode_json(readline *STDIN); say ($response->{stargazers_count})'
# sleep 300 # sleep for 5 minutes, throttle network requests whatever the value of status-interval
# }
#
# "$@"
# # /!\ do not remove the previous line
# # do not write below this line