Scroll #使用“sudo showkey-a”查找asci密钥代码-仅适用于tmux>1.7 #美国键盘式[] 绑定键-r 0xc3显示“c3前缀绑定破解” 绑定键-r 0xb6复制模式# 绑定键-r 0xa3粘贴缓冲区# #美国{} 将键-r 0x96交换窗格-U#Ö交换窗格绑定到上一个位置 将键-r 0x84交换窗格-D#Ä-绑定到下一个pos #}}}

Scroll #使用“sudo showkey-a”查找asci密钥代码-仅适用于tmux>1.7 #美国键盘式[] 绑定键-r 0xc3显示“c3前缀绑定破解” 绑定键-r 0xb6复制模式# 绑定键-r 0xa3粘贴缓冲区# #美国{} 将键-r 0x96交换窗格-U#Ö交换窗格绑定到上一个位置 将键-r 0x84交换窗格-D#Ä-绑定到下一个pos #}}},scroll,ssh,copy,mouse,tmux,Scroll,Ssh,Copy,Mouse,Tmux,看来升级到tmux 2.1可能会解决您的问题 在版本2.1中,他们改变了鼠标模式,用单鼠标开关鼠标选择窗口/窗格等。鼠标操作现在生成可以映射为普通键的键事件 通过将以下内容添加到我的~/.tmux.conf,我可以在tmux(版本2.2)中选择鼠标以停止跳到底: setw -g mouse on setw -g mode-keys vi unbind -t vi-copy MouseDragEnd1Pane 警告:这有打开vi模式的副作用 我发现是相关的,并且在中找到了上面的配置。从tm

看来升级到tmux 2.1可能会解决您的问题

在版本2.1中,他们改变了鼠标模式,用单鼠标开关鼠标选择窗口/窗格等。鼠标操作现在生成可以映射为普通键的键事件


通过将以下内容添加到我的
~/.tmux.conf
,我可以在tmux(版本2.2)中选择鼠标以停止跳到底:

setw -g mouse on
setw -g mode-keys vi
unbind -t vi-copy MouseDragEnd1Pane
警告:这有打开vi模式的副作用


我发现是相关的,并且在中找到了上面的配置。

从tmux 2.2开始,功能副本选择-x可用。选择以下选项后,tmux将保持在复制模式。选择一个适合您的模式设置

bind-key -t vi-copy MouseDragEnd1Pane copy-selection -x
bind-key -t emacs-copy MouseDragEnd1Pane copy-selection -x

从TMUX2.5开始,您应该使用

unbind -T copy-mode-vi MouseDragEnd1Pane

以下几点对我有用。感谢github上的
@stagebind

对于vi模式配置:

对于非vi模式配置:

我花了一些时间才得到正确的答案

我还使用了Alacrity,无法启用鼠标选择时复制,因为
MouseDragEnd1Pane
出现问题,如中所述:

用鼠标选择文本,然后在需要时使用键
y
复制文本,这一配置适用于我:

bind -T copy-mode-vi y send -X copy-pipe "reattach-to-user-namespace pbcopy"\; display-message "copied to system clipboard"
使用鼠标和vi键绑定支持复制和粘贴的完整配置如下所示:

set-option -g default-command "reattach-to-user-namespace -l bash"
set -g mouse on

bind P paste-buffer
bind-key -T copy-mode-vi v send-keys -X begin-selection
bind -T copy-mode-vi y send -X copy-pipe "reattach-to-user-namespace pbcopy"\; display-message "copied to system clipboard"
bind-key -T copy-mode-vi r send-keys -X rectangle-toggle

## don't jump to bottom on mouse select - when vi-mode enabled - 2.4+
#unbind -T copy-mode MouseDragEnd1Pane
## don't jump to bottom on mouse select - when vi-mode enabled - 2.2 - 2.3
#unbind -t vi-copy MouseDragEnd1Pane
## don't jump to bottom on mouse select - when vi-mode enabled
unbind -T copy-mode-vi MouseDragEnd1Pane

我正在使用OS X。

我想说,现在最简单的方法就是使用插件并添加:


此外,tmux yank还为您管理操作系统剪贴板(Linux、macOS、WSL)之间的差异,并为复制当前命令行内容和cwd添加了一些非常有用的快捷方式。强烈推荐。

如果您还希望在键盘上使用此行为,请使用:
bind key-T copy mode vi y send key-X copy selection
。然后,您可以使用
y
在不跳到底部的情况下拖动所选内容。您是否注意到不能复制X行以上的内容?。。看起来无法将巨大的缓冲区移动到剪贴板,如何处理?在
pbcopy
之前删除
重新附加到用户名称空间
,修复了剪贴板限制问题。“复制管道”适用于WSL 2上的tmux 3.0a。
# 2.4+
unbind -T copy-mode MouseDragEnd1Pane
# 2.2 - 2.3
unbind -t vi-copy MouseDragEnd1Pane
bind -T copy-mode-vi y send -X copy-pipe "reattach-to-user-namespace pbcopy"\; display-message "copied to system clipboard"
set-option -g default-command "reattach-to-user-namespace -l bash"
set -g mouse on

bind P paste-buffer
bind-key -T copy-mode-vi v send-keys -X begin-selection
bind -T copy-mode-vi y send -X copy-pipe "reattach-to-user-namespace pbcopy"\; display-message "copied to system clipboard"
bind-key -T copy-mode-vi r send-keys -X rectangle-toggle

## don't jump to bottom on mouse select - when vi-mode enabled - 2.4+
#unbind -T copy-mode MouseDragEnd1Pane
## don't jump to bottom on mouse select - when vi-mode enabled - 2.2 - 2.3
#unbind -t vi-copy MouseDragEnd1Pane
## don't jump to bottom on mouse select - when vi-mode enabled
unbind -T copy-mode-vi MouseDragEnd1Pane
# ~/.tmux.conf

set -g @yank_action 'copy-pipe' # or 'copy-pipe-and-cancel' for the default