鼠标select后如何从tmux输出复制到系统剪贴板?

现在要复制到系统剪贴板,我必须通过在Shift键的tmux窗口中通过鼠标文本进行select。 然后我必须运行这个命令:

 tmux save-buffer - | reattach-to-user-namespace pbcopy 

有没有机会更容易保存到系统剪贴板? 键绑定或更好地执行后,Shift释放。

我的tmuxconfiguration: https : //gist.github.com/3641580

如果您使用的是iTerm2,则可以在Tmux会话中复制文本,按住Option键的同时拖动鼠标进行select。

然后像往常一样用Cmd + V粘贴文本应该是可能的。 在这里find它: http : //web.archive.org/web/20131226003700/http : //ootput.wordpress.com/2013/08/02/copy-and-paste-in-tmux-with-mouse/

有一个类似的问题在这里回答: https : //unix.stackexchange.com/questions/15715/getting-tmux-to-copy-a-buffer-to-the-clipboard

find解决scheme:

 # move x clipboard into tmux paste buffer bind Cp run "tmux set-buffer \"$(xclip -o)\"; tmux paste-buffer" # move tmux copy buffer into x clipboard bind Cy run "tmux show-buffer | xclip -i" 

也请查看: http : //awhan.wordpress.com/2012/04/18/tmux-copy-paste-with-mouse/

如果您已经设置了以下选项:

鼠标select窗格

鼠标select窗口

你会发现你根本无法select文本。

解决办法是使用shift键。

 hold down the shift key and then left click and drag across the target text. you must also hold down the shift key and then middle click in order to paste the text. 

如果您使用iTerm2 3.x,则可以通过Applications in terminal may access clipboard启用Applications in terminal may access clipboard来进行复制/粘贴工作:

在这里输入图像说明

只需用鼠标突出显示文本,将其复制到OS X剪贴板中! 不需要按照接受者答案中的build议按下Option

您也可以使用通常的Cmd + V从OS X剪贴板粘贴到tmux中。

把这个放在我的〜/ .tmux.conf文件中对我有用:

 bind y run-shell "reattach-to-user-namespace -l zsh -c 'tmux show-buffer | pbcopy'" 

我发现的所有其他可能的解决scheme是将某些空的内容复制到OSX剪贴板。

唯一的问题是,这似乎把粘贴内容结束回车。

对于操作系统x,如果你使用应用程序“terminal”。 您可以closures鼠标滚动并使用通常的复制/粘贴function(cmd + c / cmd + v):

 set-option -g mouse-select-pane off set-option -g mouse-resize-pane off set-option -g mouse-select-window off set-window-option -g mode-mouse off 

或者您可以使用鼠标滚动并使用“fn键”select文本:

 set-window-option -g mode-mouse on 

在使用tmux 2.2或更高版本的OSX上,将以下内容添加到您的tmux.conf文件中:

 bind-key -t emacs-copy MouseDragEnd1Pane copy-pipe "pbcopy" bind-key -t vi-copy MouseDragEnd1Pane copy-pipe "pbcopy" 

对于tmux版本2.4,因为他们好心地决定改变命令语法,你应该使用:

 bind-key -T copy-mode MouseDragEnd1Pane send -X copy-pipe-and-cancel "pbcopy" 

请注意,您可能还需要使用reattach-to-user-namespace pbcopy而不是普通的pbcopy

按shift键,然后点击鼠标! 检查这个链接。 http://awhan.wordpress.com/2012/04/18/tmux-copy-paste-with-mouse/

按下鼠标左键不放,在窗格中select文本,然后按住button。 然后按下“y”,将select保存到剪贴板中,并从select/复制模式中退出。

在这里使用iTerm 3.1.beta.5,tmux 2.5和以下configuration:

 ### copy & paste ------------------------------------------------------- # Use vim keybindings in copy mode setw -g mode-keys vi # Setup 'v' to begin selection as in Vim bind-key -T copy-mode-vi v send -X begin-selection bind-key -T copy-mode-vi y send -X copy-pipe-and-cancel "reattach-to-user-namespace pbcopy" # Update default binding of `Enter` to also use copy-pipe unbind -T copy-mode-vi Enter bind-key -T copy-mode-vi Enter send -X copy-pipe-and-cancel "reattach-to-user-namespace pbcopy" 

今天我用netcat做了一个版本,这个版本非常简单。

https://github.com/base698/tmux-copy-paste-mac-osx

这里是tmux.conf:

 bind -t vi-copy 'v' begin-selection bind -t vi-copy 'y' copy-pipe 'nc localhost 5682' bind p run-shell 'nc localhost 5683; nc localhost 5683 | tmux load-buffer -' \; paste-buffer 

在1.8中也可以使用鼠标