用鼠标取回tmux中的旧复制粘贴行为

这是我以前在tmux中做的复制粘贴(使用鼠标,键盘工作方式不同,而不是我感兴趣的):

  1. 用鼠标select文本,左键按下
  2. 用中间button粘贴文本

我已经升级了我的操作系统,这已经得到了一个新的tmux版本。 我没有改变我的.tmux.confconfiguration文件。

这就是我所要做的与当前版本的tmux 1.6 (预先打包在最新的crunchbang linux中):

  1. 用鼠标select文本,按住左键切换键
  2. 用中间button粘贴文本
  3. terminal被阻塞,一个小信息区显示当前窗格右上方的一些数字(即[0/24] ,可能与有多less个字符被粘贴有关),这对我来说意义不大,我不需要/想要(编辑:这似乎是自动进入copy-mode
  4. 我必须再次按下q键才能获得functionterminal。

对于我每天要做几十次的事情来说,这太麻烦了。 如何让旧的机制再次运作?

要恢复默认的复制/粘贴configuration,您需要(至less暂时)closurestmux中的鼠标支持:

 prefix : set -g mouse off 

其中prefix是tmux访问键(默认情况下为Ctrl + B ,除非重新映射)。 启动命令模式并set -g全局设置参数。

鼠标模式closures时,操作系统提供的标准复制/粘贴function按预期工作。

您可能想要做的其他事情是“最大化”当前窗格,以便您可以轻松复制多行代码。


如果您使用的是旧版(2.1版之前的版本),则需要使用以下内容:

 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 
  1. 复制文本:select文本并按下鼠标left-button shift键。
  2. shift键+ middle-button键来粘贴文本

如果“设置-g模式 – 鼠标开启”,你可以这样做:

在Mac上,按“fn”button,然后select文本并用鼠标右键单击或键盘cmd + c复制。

打开或closures<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;" 

从这里修改 – 我在原来使用xclip而不是xsel

 bind -T root MouseDown2Pane run -b "xclip -o | tmux load-buffer - && tmux paste-buffer -s ' '" 

这对于我在tmux 2.5-rc2是愉快的

我遇到了一个问题,那就是基督教的例子为Tmux 2工作,我认为是一些拼写错误。 我得到了下面的工作,是更容易阅读和设置全球和窗口模式。 有人。 新用户和tmux是伟大的!

 bind m run "\ tmux show-options -g | grep -q "mouse.*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; \ " 

这是Kaixuan与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必须replace为show-options