tmux_mouse
· 412 B · Text
Sin formato
# 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
· 1.8 KiB · Bash
Sin formato
set -euo pipefail
# Файл конфигурации tmux
CONFIG_FILE="${HOME}/.tmux.conf"
# Создаём резервную копию существующего конфига (с меткой времени)
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
# Добавляем (или обновляем) настройки мыши
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 ---
EOF
echo "Настройки поддержки мыши добавлены в ${CONFIG_FILE}."
# Перезагружаем конфигурацию в запущенных сессиях tmux
if tmux info &>/dev/null; then
tmux source-file "${CONFIG_FILE}"
echo "Конфигурация tmux перезагружена."
else
echo "Запущенных сессий tmux не найдено — настройки вступят в силу при следующем запуске tmux."
fi
| 1 | set -euo pipefail |
| 2 | |
| 3 | # Файл конфигурации tmux |
| 4 | CONFIG_FILE="${HOME}/.tmux.conf" |
| 5 | |
| 6 | # Создаём резервную копию существующего конфига (с меткой времени) |
| 7 | if [ -f "${CONFIG_FILE}" ]; then |
| 8 | TIMESTAMP="$(date +'%Y%m%d%H%M%S')" |
| 9 | BACKUP_FILE="${CONFIG_FILE}.bak.${TIMESTAMP}" |
| 10 | cp -- "${CONFIG_FILE}" "${BACKUP_FILE}" |
| 11 | echo "Резервная копия конфигурации создана: ${BACKUP_FILE}" |
| 12 | fi |
| 13 | |
| 14 | # Добавляем (или обновляем) настройки мыши |
| 15 | cat >> "${CONFIG_FILE}" <<'EOF' |
| 16 | # --- Начало настроек поддержки мыши для tmux --- |
| 17 | # Включаем поддержку мыши (прокрутка, выбор окон, ресайз) |
| 18 | set -g mouse on |
| 19 | |
| 20 | # Разрешаем прокрутку колесом мыши в копипейстрежиме |
| 21 | bind -T copy-mode-vi WheelUpPane send-keys -X scroll-up |
| 22 | bind -T copy-mode-vi WheelDownPane send-keys -X scroll-down |
| 23 | |
| 24 | # При обычном режиме: колесо мыши включает копипейстрежим + прокрутка |
| 25 | bind -n WheelUpPane if-shell -F "#{mouse_any_flag}" "send-keys -M" "copy-mode -e; send-keys -M" |
| 26 | bind -n WheelDownPane if-shell -F "#{mouse_any_flag}" "send-keys -M" "send-keys -M" |
| 27 | # --- Конец настроек поддержки мыши для tmux --- |
| 28 | EOF |
| 29 | |
| 30 | echo "Настройки поддержки мыши добавлены в ${CONFIG_FILE}." |
| 31 | |
| 32 | # Перезагружаем конфигурацию в запущенных сессиях tmux |
| 33 | if tmux info &>/dev/null; then |
| 34 | tmux source-file "${CONFIG_FILE}" |
| 35 | echo "Конфигурация tmux перезагружена." |
| 36 | else |
| 37 | echo "Запущенных сессий tmux не найдено — настройки вступят в силу при следующем запуске tmux." |
| 38 | fi |