Возвращение поведения старой копии в tmux с помощью мыши

Это то, что я делал в tmux для копирования-вставки (используя мышь, клавиатура работает по-другому, и это меня не интересует):

  • Выберите текст с помощью мыши, нажав левую кнопку
  • Вставить текст с помощью средней кнопки

Я обновил свою ОС, и у нее появилась новая версия tmux. Я не изменил конфигурационный файл .tmux.conf.

Это то, что я должен делать с текущей версией tmux, 1.6 (которая поставляется с предварительно упакованной в последний Linux файл crunchbang):

  • Выберите текст с помощью мыши, нажатие левой кнопки и shift
  • Вставить текст с помощью средней кнопки
  • Терминал блокируется, информационная область litte показывает некоторые цифры в верхнем правом углу текущей панели (т.е. [0/24], возможно, что-то связано с тем, сколько символов было вставлено), что мало что значит для меня, и мне не нужно /want (редактирование: кажется, copy-mode вводится автоматически здесь)
  • Мне нужно нажать клавишу q, чтобы снова получить функциональный терминал.

Это слишком много хлопот за то, что я делаю десятки раз в день. Как заставить старый механизм работать снова?

Ответ 1

Чтобы восстановить конфигурацию копирования/вставки по умолчанию, вам необходимо (по крайней мере временно) отключить поддержку мыши в tmux:

prefix : set -g mouse off

Где prefix - это ключ доступа tmux (Ctrl + B по умолчанию, если вы не перепрограммируете его). : запускает командный режим, а set -g устанавливает параметр глобально.

Когда режим мыши отключен, стандартные функции копирования/вставки, предоставляемые вашей операционной системой, работают должным образом.

Что-то еще, что вам может понадобиться, это "максимизировать" текущую область, чтобы вы могли легко скопировать несколько строк.


Если вы работаете со старой (pre-2.1) версией tmux, вам нужно использовать следующее:

prefix : set -g mode-mouse off

Здесь есть более подробная информация и некоторые удобные привязки клавиш для автоматизации всего этого:

http://tangledhelix.com/blog/2012/07/16/tmux-and-mouse-mode/

Основной смысл статьи, связанной с выше, - это выдержка из .tmux.conf:

# disable mouse control by default - change 'off' to 'on' to enable by default.
setw -g mode-mouse off
set-option -g mouse-resize-pane off
set-option -g mouse-select-pane off
set-option -g mouse-select-window off
# toggle mouse mode to allow mouse copy/paste
# set mouse on with prefix m
bind m \
    set -g mode-mouse on \;\
    set -g mouse-resize-pane on \;\
    set -g mouse-select-pane on \;\
    set -g mouse-select-window on \;\
    display 'Mouse: ON'
# set mouse off with prefix M
bind M \
    set -g mode-mouse off \;\
    set -g mouse-resize-pane off \;\
    set -g mouse-select-pane off \;\
    set -g mouse-select-window off \;\
    display 'Mouse: OFF'
# zoom this pane to full screen
bind + \
    new-window -d -n tmux-zoom 'clear && echo TMUX ZOOM && read' \;\
    swap-pane -s tmux-zoom.0 \;\
    select-window -t tmux-zoom
# restore this pane
bind - \
    last-window \;\
    swap-pane -s tmux-zoom.0 \;\
    kill-window -t tmux-zoom

Ответ 2

  • Скопируйте текст: выберите текст и нажмите кнопку left-button клавишей shift.)
  • Вставить текст клавишей shift + middle-button

Ответ 3

Если "set -g mode-mouse on" вы можете сделать этот трюк:

На Mac нажмите кнопку "fn", затем выберите текст и скопируйте правой кнопкой мыши или клавиатурой cmd + c.

Ответ 4

Использовать <prefix>+m включить или выключить режим мыши

bind m run "if [[ `tmux show-option -w | grep mode-mouse.*on` ]]; then toggle=off; else toggle=on; fi; tmux display-message \"mouse tmux: \$toggle\"; tmux set-option -w mode-mouse \$toggle &> /dev/null; for cmd in mouse-select-pane mouse-resize-pane mouse-select-window; do tmux set-option -g \$cmd \$toggle &> /dev/null; done;"

Ответ 5

У меня были проблемы с получением христианского примера для работы в Tmux 2, я думаю, что некоторые опечатки. Я получил ниже, чтобы работать, и его немного легче читать и устанавливает как глобальный, так и оконный режим. кто-то. новый пользователь и tmux отлично!

bind m run "\
    tmux show-options -g | grep -q "mouse\\s*on"; \
    if [ \$? = 0 ]; \
    then  \
        toggle=off;  \
    else  \
        toggle=on;  \
    fi;  \
    tmux display-message \"mouse is now: \$toggle\";  \
    tmux set-option -w mouse \$toggle; \
    tmux set-option -g mouse \$toggle; \
    "

Ответ 6

Изменено с здесь - я использую xclip вместо xsel в оригинале:

bind -T root MouseDown2Pane run -b "xclip -o | tmux load-buffer - && tmux paste-buffer -s ' '"

Это весело работает для меня в tmux 2.5-rc2

Ответ 7

Для пользователей Mac + iTerm2 + tmux (версия> 2.1):

Убедитесь, что режим мыши установлен в конфигурации tmux (просто добавьте set -g mode-mouse on в ~/.tmux.conf). Теперь, чтобы скопировать текст внутри панели:

  1. Нажмите option + command и выберите текст, который вы хотите скопировать, используя курсор мыши. Это как обрезка картинки.
  2. Выбранный текст будет скопирован автоматически (без необходимости command + c). Просто вставьте его обычными средствами.

Ответ 8

Это измененная версия Kaixuan answer, которая совместима с Tmux 2.1.

`bind m run "if [[ `tmux show-options -w | grep mouse.*on` ]]; then toggle=off; else toggle=on; fi; tmux display-message \"mouse tmux: \$toggle\"; tmux set-option -w mouse \$toggle &> /dev/null;`"

Все опции mode-mouse были объединены в одну опцию mouse, а show-option пришлось заменить на show-options

Ответ 9

в ~/.tmux.conf:

set -g mouse off

наличие bind r source-file ~/.tmux.conf может быть полезно, так что вы можете выполнить ctrl-d r для перезагрузки конфигурации, например.

Ответ 10

Ив Блюссо помог мне понять, как это работает, но на моей машине (под управлением Windows 10) поведение было немного другим.

tmux 2.6

С активированной мышью (:set -g mouse on)

Копирование

  1. Удерживая нажатой кнопку Shift, выберите мышью текст, который вы хотите скопировать
  2. Теперь щелкните правой кнопкой мыши, чтобы скопировать выделенный текст (не удерживая Shift)

Вставить

  1. Удерживайте Shift и щелкните правой кнопкой мыши, чтобы вставить скопированный текст

Просто как тот. Наслаждайтесь!