似乎鼠标支持在最新版本的tmux中发生了变化,我在该主题上发现的每篇文章都使用了过时的设置。我想要做的就是在滚动模式下使用鼠标滚动并使用它来复制/粘贴左按钮,就像通常在终端中一样。不幸的是,如果我设置set -g mouse on
复制/粘贴不起作用,如果我将其设置为关闭,则滚动不起作用。我在OSX 10.12 Sierra,如果这有所不同,我正在使用默认的终端应用程序。
答案 0 :(得分:3)
tmux改变了从v2.0到v2.1的鼠标行为。
您可以在tmux的github存储库中找到更多信息issue 145 description.
我不再使用它了,但是在转移到v2.1之后这个固定的鼠标处理方式:
# Handling mouse
set -g mouse on
# Fix Mouse Scrolling: https://github.com/tmux/tmux/issues/145
bind -n WheelUpPane if-shell -F -t = "#{mouse_any_flag}" "send-keys -M" "if -Ft= '#{pane_in_mode}' 'send-keys -M' 'select-pane -t=; copy-mode -e; send-keys -M'"
bind -n WheelDownPane select-pane -t= \; send-keys -M
使用此设置,您可以使用鼠标和Option(alt)键进行选择,然后使用Cmd-C复制选择。
答案 1 :(得分:2)
对于我来说, fn 按钮+鼠标可以很好地进行文本选择。 选择后,需要按 cmd + c 进行复制并粘贴 cmd + v 。
答案 2 :(得分:1)
使用上面指定的set -g mouse on
可以使用鼠标滚动。
在Linux上,shift按钮可以正常选择鼠标并进行复制/粘贴,但在Mac上它似乎是Alt按钮,尝试一下(它适用于我在iTerm2上使用tmux)。
答案 3 :(得分:1)
使用鼠标恢复复制粘贴功能的一种快速方法是禁用“鼠标报告”;请参阅 Terminal.app 中的菜单项View > Allow Mouse Reporting
。默认的键盘快捷键是⌘Command + r ,因此可能的工作流程是:
或者,按住 fn 键以暂时获得相同的功能,如@yaroslavpalamar的回答所述。
注释指出使用多个窗格时此解决方案存在问题。这需要从tmux内部进行修复,以便同时缩放窗格并允许使用鼠标复制/粘贴。为此,我们可以通过将以下行添加到配置中来扩展@MadWombat指向的解决方案。
在您的~/.tmux.conf
文件(或/etc/tmux.conf
)中:
bind-key m set mouse \; resize-pane -Z
然后,前缀 + m 是一个切换按钮:点击一次即可缩放窗格并允许使用鼠标复制/粘贴,再次点击即可恢复以前的功能。请注意,这也可以在单个窗格中正常工作-在这种情况下,命令的zoom部分无效。
答案 4 :(得分:0)
您可以在选择文本时按住shift
,这样就不会调用复制和粘贴模式。
https://awhan.wordpress.com/2012/04/18/tmux-copy-paste-with-mouse/
你会注意到你根本无法选择文字。 解决方案是使用shift键。 按住shift键,然后左键单击并拖动目标文本。如果您现在要将所选文本粘贴回xterm,则还必须按住Shift键然后单击鼠标中键以粘贴文本。这在tmux手册页中没有提到,所以我不认为这是一个tmux功能。猜测这与xterm有关,但我不确定。
https://superuser.com/questions/300060/tmux-and-text-selection-with-mouse-through-putty
答案 5 :(得分:0)
在 OSX 和 tmux 3.0a
上,set -g mouse on
中包含 tmux.conf
,您可以使用 ctrl-b [
然后用鼠标拖动来选择文本。之后,您应该可以使用 ctrl-b ]
进行粘贴。