Подтвердить что ты не робот

Как прокручивать в tmux с помощью мыши?

Я использую tmux 1.8 для Mac OS X 1.9.3 в Terminal.app с помощью волшебной мыши Apple. Я также использую oh-my-zsh.

Я не могу прокручивать с помощью мыши при запуске tmux. Он просто прокручивает все окно терминала вверх, выходящее за пределы вывода tmux.

Я пробовал эти настройки в файле tmux.conf, но ничего не работает:

set -g mode-mouse on
setw -g mode-mouse on
set -g terminal-overrides 'xterm*:[email protected]:[email protected]' 

Я позаботился перезагрузить tmux.conf, а также убил сеансы и создал новые, чтобы убедиться. И это все еще не работает.

Пожалуйста, помогите. Вот мой весь tmux.conf

set -g default-terminal "xterm-256color"
set -g history-limit 10000
set -g status-interval 60

# status config
set -g status-utf8 on
set -g status-position top
set -g status-fg colour15
set -g status-bg colour24


# status line left side
set -g status-left-length 40
set -g status-left "#[fg=colour214,bold] #S #[fg=colour45] "

# status line right side
set -g status-right "#(~/.dotfiles/bin/tmux_battery_status) | %I:%M %p | %D "

# no more machine counting
set -g base-index 1
setw -g pane-base-index 1

# enable activity alerts
setw -g monitor-activity on
set -g visual-activity on

# window list colors
setw -g window-status-fg colour250
setw -g window-status-bg default
setw -g window-status-format " #I #W "
setw -g window-status-current-format "  #W "
setw -g window-status-current-fg colour118
setw -g window-status-current-bg default
setw -g window-status-activity-attr underscore,bold

# center the window list
set -g status-justify left

# pane colors
set -g pane-border-fg colour24
set -g pane-border-bg default
set -g pane-active-border-fg colour15
set -g pane-active-border-bg colour15

# command / message line colors
set -g message-fg colour15
set -g message-bg black
set -g message-attr bright

# rebind clear screen with Ctrl-l
bind C-l send-keys 'C-l'

# reload tmux conf
bind r source-file ~/.tmux.conf \; display "Reloaded tmux.conf!"

# setup reattach-to-user-namespace for copy and paste
set-option -g default-command "reattach-to-user-namespace -l $SHELL"

# use vim keybindings in copy mode
setw -g mode-keys vi

setw -g mode-mouse on
setw -g mouse-utf8 on
setw -g mouse-select-pane on
setw -g mouse-select-window on
setw -g mouse-resize-pane on

# setup 'v' to begin selection as in vim
bind -t vi-copy v begin-selection
bind -t vi-copy y copy-pipe "reattach-to-user-namespace pbcopy"

# update default binding of 'enter' to also use copy-pipe
unbind -t vi-copy Enter
bind -t vi-copy enter copy-pipe "reattach-to-user-namespace pbcopy"

# splitting panes
bind | split-window -h
bind - split-window -v

# fast resizing (-r for repeatable)
bind -r h resize-pane -L 5
bind -r j resize-pane -D 5
bind -r k resize-pane -U 5
bind -r l resize-pane -R 5

# tmux navigator with vim (-n allows binding without tmux prefix)
bind -n C-h run "(tmux display-message -p '#{pane_current_command}' | grep -iqE '(^|\/)vim(diff)?$' && tmux send-keys C-h) || tmux select-pane -L"
bind -n C-j run "(tmux display-message -p '#{pane_current_command}' | grep -iqE '(^|\/)vim(diff)?$' && tmux send-keys C-j) || tmux select-pane -D"
bind -n C-k run "(tmux display-message -p '#{pane_current_command}' | grep -iqE '(^|\/)vim(diff)?$' && tmux send-keys C-k) || tmux select-pane -U"
bind -n C-l run "(tmux display-message -p '#{pane_current_command}' | grep -iqE '(^|\/)vim(diff)?$' && tmux send-keys C-l) || tmux select-pane -R"
bind -n C-\ run "(tmux display-message -p '#{pane_current_command}' | grep -iqE '(^|\/)vim(diff)?$' && tmux send-keys 'C-\\') || tmux select-pane -l"
4b9b3361

Ответ 1

Я понял проблему. Если вы используете стандартный терминал Terminal.app, события мыши не передаются приложениям, запущенным внутри терминала. Чтобы устранить эту проблему, вам необходимо установить MouseTerm, для чего необходимо установить SIMBL. Здесь вы можете найти все инструкции:

https://bitheap.org/mouseterm/

Обратите внимание, что если вы используете Mac OS X 10.9, при попытке запустить установку script для MouseTerm скажет, что файл поврежден. Чтобы решить эту проблему, просто скопируйте файл пакета в папку подключаемых модулей SIMBL и перезапустите Terminal.app, чтобы он работал. Вы можете найти папку плагинов SIMBL по этому пути:

/Library/Поддержка приложений/SIMBL/Плагины

Ответ 2

Начиная с OS X 10.11 (Beta) El Capitan, не требуется SIMBL или MouseTerm.

У меня был тот же вопрос, но вы ответили на него в OP:

set -g mode-mouse on
setw -g mode-mouse on
set -g terminal-overrides 'xterm*:[email protected]:[email protected]'

- все, что необходимо в 10.11 с Terminal.app - обратите внимание, что другим терминальным эмуляторам все равно может понадобиться SIMBL; это обновление для терминала, что означает, что он больше не требуется, а не из-за того, что OS X обновляется сама по себе.

Ответ 3

Имеются некоторые изменения для Tmux 2.1

  • Мышь-режим был переписан. Там больше нет параметров для:

    • мыши изменить размер-панели
    • мыши выберите-панель
    • мыши выбрать окна
    • режим мыши

    Вместо этого есть только один вариант: "мышь", которая включает поддержку мыши полностью.

Я предполагаю, что это будет set -g mouse on