用鼠标取回tmux中的旧复制粘贴行为
这是我以前在tmux中做的复制粘贴(使用鼠标,键盘工作方式不同,而不是我感兴趣的):
- 用鼠标select文本,左键按下
- 用中间button粘贴文本
我已经升级了我的操作系统,这已经得到了一个新的tmux版本。 我没有改变我的.tmux.conf
configuration文件。
这就是我所要做的与当前版本的tmux
1.6
(预先打包在最新的crunchbang linux中):
- 用鼠标select文本,按住左键并切换键
- 用中间button粘贴文本
- terminal被阻塞,一个小信息区显示当前窗格右上方的一些数字(即
[0/24]
,可能与有多less个字符被粘贴有关),这对我来说意义不大,我不需要/想要(编辑:这似乎是自动进入copy-mode
) - 我必须再次按下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
- 复制文本:select文本并按下鼠标
left-button
shift
键。 - 用
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