这是我以前在tmux中复制粘贴所做的事情(使用鼠标,键盘的工作方式不同,而且不是我感兴趣的):
我升级了我的操作系统,这已经获得了一个新的tmux版本。我没有更改我的.tmux.conf
配置文件。
这就是我要对当前版本的tmux
,1.6
(预先打包在最新的crunchbang linux中)所做的事情:
[0/24]
,可能与粘贴了多少个字符有关),这对我来说意义不大不需要/想要(编辑:似乎在这里自动输入copy-mode
)对于我每天做几十次的事情来说,这太麻烦了。如何让旧机制再次运作?
答案 0 :(得分:202)
left-button
键同时按下鼠标shift
。shift
键+ middle-button
答案 1 :(得分:63)
要恢复默认的复制/粘贴配置,您需要(至少暂时)关闭tmux中的鼠标支持:
prefix : set -g mouse off
其中prefix
是tmux访问密钥(默认情况下, Ctrl + B 除非您重新映射它)。 :启动命令模式,set -g
全局设置参数。
关闭鼠标模式后,操作系统提供的标准复制/粘贴功能将按预期工作。
您可能想要做的其他事情是“最大化”当前窗格,这样您就可以轻松复制多行。
如果您使用的是旧版(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 :(得分:27)
如果"设置-g mode-mouse on"你可以做到这一点:
在Mac上,按" fn"按钮,然后用鼠标右键单击或键盘cmd + c选择文本和副本。
答案 3 :(得分:6)
使用<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;"
答案 4 :(得分:6)
我在让Christian的榜样为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; \
"
答案 5 :(得分:4)
从here修改 - 我在原文中使用xclip
代替xsel
:
bind -T root MouseDown2Pane run -b "xclip -o | tmux load-buffer - && tmux paste-buffer -s ' '"
这在tmux 2.5-rc2
答案 6 :(得分:4)
对于 Mac + iTerm2 + tmux(版本> 2.1) 的用户:
确保在tmux配置中设置了鼠标模式(只需在〜/ .tmux.conf中添加set -g mode-mouse on
)。现在,要在窗格内复制文本:
option + command
并使用鼠标光标选择要复制的文本。就像裁剪照片一样。command + c
)。只需按常规方法粘贴即可。答案 7 :(得分:2)
这是Kaixuan's 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
答案 8 :(得分:0)
在~/.tmux.conf
中:
set -g mouse off
具有bind r source-file ~/.tmux.conf
可能也很有用,因此您可以执行ctrl-d r
重新加载配置。
答案 9 :(得分:0)
Yves Blusseau帮助我弄清楚了它是如何工作的,但是在我的计算机上(运行 Windows 10 ),其行为却有所不同。
使用激活的鼠标(:set -g mouse on
)
就这么简单。 享受吧!
答案 10 :(得分:0)
根据此处发布的其他答案,我创建了一个简洁的解决方案,该解决方案可与(至少) tmux 2.8 和 tmux 3.1 一起使用
您可以通过按tmux mouse support
-prefix
来打开和关闭M
。在.tmux.conf
文件中,包括以下行:
bind-key -T prefix m run "m=$(tmux show -g mou|grep -q on;echo $?);tmux set -g mou $m;tmux display mouse:\$m"
启用后将显示mouse: 1
,禁用时将显示mouse: 0
。反复按prefix
-M
将在 on 和 off 之间切换鼠标模式。
另请参阅:tmux mouse support
编辑::如果看到命令returned 1
错误消息,则您将需要使用以下内容代替 tmux 3.1 或 tmux 3.2 < / strong>:
bind-key -T prefix m set -g mouse\; display 'Mouse: #{?mouse,ON,OFF}'
(此解决方案先前已提及)
答案 11 :(得分:0)
这是鼠标切换的更新版本,已在tmux v3.1上进行了测试
由于代码是单行代码,因此为了简短起见,我仅将t用作变量名,然后将if语句替换为条件查找字母n的条件。 有条件的条件使我们可以减少很多空格和分号,从而进一步缩短了行距。
bind m run "[[ `tmux show -gv mou` = *n* ]]&&t=off||t=on;tmux set -g mou \$t;tmux display-message \"mouse mode: \$t\""
这是将代码段扩展为更具可读性的形式
[[ `tmux show -gv mouse` = *n* ]] && t=off || t=on
tmux set -g mouse $t
tmux display-message "mouse mode: $t"
答案 12 :(得分:-1)
我使用以下绑定在按下鼠标左键的情况下选择文本-
bind -T copy-mode-vi MouseDragEnd1Pane send-keys -X copy-pipe-and-cancel "/mnt/c/Windows/System32/clip.exe"