tmux_mouse
· 412 B · Text
原始檔案
# Enabling mouse support for scrolling only
set -g mouse on
# Allow text selection while holding down the Shift key
bind -T copy-mode-vi WheelUpPane send-keys -X scroll-up
bind -T copy-mode-vi WheelDownPane send-keys -X scroll-down
bind -n WheelUpPane if-shell -F "#{mouse_any_flag}" "send-keys -M" "copy-mode -e; send-keys -M"
bind -n WheelDownPane if-shell -F "#{mouse_any_flag}" "send-keys -M" "send-keys -M"
| 1 | # Enabling mouse support for scrolling only |
| 2 | set -g mouse on |
| 3 | |
| 4 | # Allow text selection while holding down the Shift key |
| 5 | bind -T copy-mode-vi WheelUpPane send-keys -X scroll-up |
| 6 | bind -T copy-mode-vi WheelDownPane send-keys -X scroll-down |
| 7 | bind -n WheelUpPane if-shell -F "#{mouse_any_flag}" "send-keys -M" "copy-mode -e; send-keys -M" |
| 8 | bind -n WheelDownPane if-shell -F "#{mouse_any_flag}" "send-keys -M" "send-keys -M" |
tmux_mouse.sh
· 2.1 KiB · Bash
原始檔案
#!/usr/bin/env bash
# Скрипт: tmux_mouse.sh
# Назначение: включить поддержку мыши в tmux + вставка буфера по Shift+ПКМ.
set -euo pipefail
# Файл конфигурации tmux
CONFIG_FILE="${HOME}/.tmux.conf"
# 1) Создаём резервную копию существующего конфига (с меткой времени)
if [ -f "${CONFIG_FILE}" ]; then
TIMESTAMP="$(date +'%Y%m%d%H%M%S')"
BACKUP_FILE="${CONFIG_FILE}.bak.${TIMESTAMP}"
cp -- "${CONFIG_FILE}" "${BACKUP_FILE}"
echo "Резервная копия конфигурации создана: ${BACKUP_FILE}"
fi
# 2) Добавляем (или обновляем) настройки мыши и вставки
cat >> "${CONFIG_FILE}" <<'EOF'
# --- Начало настроек поддержки мыши для tmux ---
# Включаем поддержку мыши (прокрутка, выбор окон, ресайз)
set -g mouse on
# Прокрутка в режиме копирования
bind -T copy-mode-vi WheelUpPane send-keys -X scroll-up
bind -T copy-mode-vi WheelDownPane send-keys -X scroll-down
# Обычная прокрутка колесом
bind -n WheelUpPane if-shell -F "#{mouse_any_flag}" "send-keys -M" "copy-mode -e; send-keys -M"
bind -n WheelDownPane if-shell -F "#{mouse_any_flag}" "send-keys -M" "send-keys -M"
# Вставка содержимого буфера tmux по Shift + ПКМ (правой кнопке мыши)
bind -n S-MouseDown2Pane paste-buffer
# --- Конец настроек поддержки мыши для tmux ---
EOF
echo "Настройки поддержки мыши и вставки по Shift+ПКМ добавлены в ${CONFIG_FILE}."
# 3) Перезагружаем конфигурацию в запущенных сессиях tmux
if tmux info &>/dev/null; then
tmux source-file "${CONFIG_FILE}"
echo "Конфигурация tmux перезагружена."
else
echo "Запущенных сессий tmux не найдено — настройки вступят в силу при следующем запуске tmux."
fi
| 1 | #!/usr/bin/env bash |
| 2 | # Скрипт: tmux_mouse.sh |
| 3 | # Назначение: включить поддержку мыши в tmux + вставка буфера по Shift+ПКМ. |
| 4 | |
| 5 | set -euo pipefail |
| 6 | |
| 7 | # Файл конфигурации tmux |
| 8 | CONFIG_FILE="${HOME}/.tmux.conf" |
| 9 | |
| 10 | # 1) Создаём резервную копию существующего конфига (с меткой времени) |
| 11 | if [ -f "${CONFIG_FILE}" ]; then |
| 12 | TIMESTAMP="$(date +'%Y%m%d%H%M%S')" |
| 13 | BACKUP_FILE="${CONFIG_FILE}.bak.${TIMESTAMP}" |
| 14 | cp -- "${CONFIG_FILE}" "${BACKUP_FILE}" |
| 15 | echo "Резервная копия конфигурации создана: ${BACKUP_FILE}" |
| 16 | fi |
| 17 | |
| 18 | # 2) Добавляем (или обновляем) настройки мыши и вставки |
| 19 | cat >> "${CONFIG_FILE}" <<'EOF' |
| 20 | # --- Начало настроек поддержки мыши для tmux --- |
| 21 | # Включаем поддержку мыши (прокрутка, выбор окон, ресайз) |
| 22 | set -g mouse on |
| 23 | |
| 24 | # Прокрутка в режиме копирования |
| 25 | bind -T copy-mode-vi WheelUpPane send-keys -X scroll-up |
| 26 | bind -T copy-mode-vi WheelDownPane send-keys -X scroll-down |
| 27 | |
| 28 | # Обычная прокрутка колесом |
| 29 | bind -n WheelUpPane if-shell -F "#{mouse_any_flag}" "send-keys -M" "copy-mode -e; send-keys -M" |
| 30 | bind -n WheelDownPane if-shell -F "#{mouse_any_flag}" "send-keys -M" "send-keys -M" |
| 31 | |
| 32 | # Вставка содержимого буфера tmux по Shift + ПКМ (правой кнопке мыши) |
| 33 | bind -n S-MouseDown2Pane paste-buffer |
| 34 | # --- Конец настроек поддержки мыши для tmux --- |
| 35 | EOF |
| 36 | |
| 37 | echo "Настройки поддержки мыши и вставки по Shift+ПКМ добавлены в ${CONFIG_FILE}." |
| 38 | |
| 39 | # 3) Перезагружаем конфигурацию в запущенных сессиях tmux |
| 40 | if tmux info &>/dev/null; then |
| 41 | tmux source-file "${CONFIG_FILE}" |
| 42 | echo "Конфигурация tmux перезагружена." |
| 43 | else |
| 44 | echo "Запущенных сессий tmux не найдено — настройки вступят в силу при следующем запуске tmux." |
| 45 | fi |