似乎最近版本的 tmux 中的鼠标支持发生了变化,我在该主题上找到的每篇文章都使用过时的设置。我想要做的就是在滚动模式下使用我的鼠标滚动,并使用它来复制/粘贴左键,就像它通常在终端中所做的那样。不幸的是,如果我设置set -g mouse on复制/粘贴不起作用,并且如果我将其设置为关闭,则滚动不起作用。如果这有所不同,我在 OSX 10.12 Sierra 上,并且我使用的是默认的终端应用程序。
tmux 将鼠标行为从 v2.0 更改为 v2.1。
您可以在阅读 tmux 的 github 存储库问题 145 描述中找到更多信息。
我不再使用它了,但是在移动到 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
Run Code Online (Sandbox Code Playgroud)
通过此设置,您可以使用鼠标和 Option (alt) 键进行选择,然后使用 Cmd-C 复制选择。
使用鼠标恢复复制粘贴功能的一种快速方法是禁用“鼠标报告”;看到该菜单项View > Allow Mouse Reporting中Terminal.app。默认键盘快捷键是? Command+ r,因此可能的工作流程是:
或者,fn如@yaroslavpalamar 的回答中所述,按住该键可暂时获得相同的功能。
评论指出了使用多个窗格时此解决方案的问题。这需要在 tmux 中进行修复,以便同时缩放窗格并允许使用鼠标进行复制/粘贴。为此,我们可以通过将下面的行添加到配置中来扩充@MadWombat 指向的解决方案。
在您的~/.tmux.conf文件(或/etc/tmux.conf)中:
bind-key m set mouse \; resize-pane -Z
Run Code Online (Sandbox Code Playgroud)
然后prefix+m是一个切换:点击一次以缩放窗格并允许使用鼠标复制/粘贴,再次点击它可以恢复以前的功能。请注意,这也适用于单个窗格 - 在这种情况下,命令的缩放部分不起作用。
您可以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
| 归档时间: |
|
| 查看次数: |
7290 次 |
| 最近记录: |