Последняя активность 1752705706

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