Возвращение поведения старой копии в 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). Теперь, чтобы скопировать текст внутри панели:
- Нажмите
option + command
и выберите текст, который вы хотите скопировать, используя курсор мыши. Это как обрезка картинки. - Выбранный текст будет скопирован автоматически (без необходимости
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
)
Копирование
- Удерживая нажатой кнопку Shift, выберите мышью текст, который вы хотите скопировать
- Теперь щелкните правой кнопкой мыши, чтобы скопировать выделенный текст (не удерживая Shift)
Вставить
- Удерживайте Shift и щелкните правой кнопкой мыши, чтобы вставить скопированный текст
Просто как тот.
Наслаждайтесь!