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

tom*_*nek 75 macos shell command-line tmux

现在要复制到系统剪贴板,我必须通过键在tmux窗口中通过鼠标文本进行选择Shift.然后我必须运行此命令:

tmux save-buffer - | reattach-to-user-namespace pbcopy
Run Code Online (Sandbox Code Playgroud)

是否有机会更轻松地保存到系统剪贴板?密钥绑定或更好地在Shift发布后自动执行此操作.

我的tmux配置:https://gist.github.com/3641580

Rol*_*ars 176

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

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

  • 如果您有窗格,则可以使用<alt> + <cmd> +鼠标选择进行矩形选择. (37认同)
  • 对tmux窗格没有帮助 (22认同)
  • 矩形选择不为窗格提供相同的功能,因为选择可以在任何列开始和结束.该解决方案与tmux无关,而与终端本身无关.窗格是tmux的核心功能. (6认同)
  • @JakS前缀+ Z缩放当前窗格.那你就没有那个问题了.除非你也在vim拆分:) (5认同)
  • 在终端中,您可以通过按住"fn"键来选择文本.您可以通过"Cmd + C"复制所选文本. (5认同)
  • 这么简单的解决方案,希望我知道/ googled /想出一年前. (3认同)
  • @lony Mac 键盘上的 Option 键标记为 Alt。 (2认同)

Jer*_*ert 53

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

在此输入图像描述

只需用鼠标突出显示文本即可将其复制到OS X剪贴板中!无需Option按照接受者答案中的建议按下.

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

  • 到目前为止最佳答案 (4认同)

Bla*_*ise 28

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

找到解决方案:

# move x clipboard into tmux paste buffer
bind C-p run "tmux set-buffer \"$(xclip -o)\"; tmux paste-buffer"
# move tmux copy buffer into x clipboard
bind C-y run "tmux show-buffer | xclip -i"
Run Code Online (Sandbox Code Playgroud)

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

如果您设置了以下选项:

鼠标选择窗格

鼠标选择窗口

你会发现你根本无法选择文字.

解决方案是使用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.
Run Code Online (Sandbox Code Playgroud)

  • 使用iterm,使用选项键而不是shift键.[如此处所述:http://awhan.wordpress.com/2012/04/18/tmux-copy-paste-with-mouse/] (4认同)
  • 对于MacOS,`xclip -o` =>`pbpaste`,`xclip -i` =>`pbcopy`. (2认同)

Ser*_*i K 20

对于os x,如果您使用应用程序"终端".您可以关闭鼠标滚动并使用常用的复制/粘贴功能(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
Run Code Online (Sandbox Code Playgroud)

或者您可以使用鼠标滚动并使用"fn键"选择文本:

set-window-option -g mode-mouse on
Run Code Online (Sandbox Code Playgroud)

  • `fn`关键提示是救生员!很多人建议使用`ALT`,但它不适用于最新的Mac OS x (13认同)
  • 更好的是 - 结合 _fn_ 和 _option_ 使用列模式进行选择! (4认同)

Kyl*_*per 13

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

bind-key -t emacs-copy MouseDragEnd1Pane copy-pipe "pbcopy"
bind-key -t vi-copy MouseDragEnd1Pane copy-pipe "pbcopy"
Run Code Online (Sandbox Code Playgroud)

对于tmux 2.4版,由于他们决定更改命令语法,您应该使用:

bind-key -T copy-mode MouseDragEnd1Pane send -X copy-pipe-and-cancel "pbcopy"
Run Code Online (Sandbox Code Playgroud)

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


crc*_*tle 11

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

bind y run-shell "reattach-to-user-namespace -l zsh -c 'tmux show-buffer | pbcopy'"
Run Code Online (Sandbox Code Playgroud)

我发现的所有其他潜在解决方案都是将某些空内容复制到OSX剪贴板中.

唯一的问题是,这似乎在粘贴内容的末尾放回车.

  • 这有效,但仍需要您在进行选择后按PREFIX + y.有没有办法从OS X中的tmux会话中复制文本只需在Linux终端中选择它? (3认同)

小智 6

在 macOS High Sierra 应用程序的窗口中使用+选择文本后,我能够使用CMD+解决这个问题。CFNmouse drag with left button downtmuxTerminal


小智 5

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


小智 5

按住鼠标左键,在窗格中选择文本,然后仍然按住该按钮。然后按“ y”,这会将选择保存在剪贴板中,并退出选择/复制模式。

在这里可以与iTerm 3.1.beta.5,tmux 2.5和以下配置一起使用:

### 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"
Run Code Online (Sandbox Code Playgroud)


Ily*_*off 5

monterey macosx 终端 2.21 默认设置通过 ssh 连接到一台运行 tmux 2.6 的机器,有几个窗格,tmux 配置就这么简单:

\n

set -g mouse on

\n

要复制 - 按住 Fn按钮并使用鼠标选择您需要的内容,然后按\xe2\x8c\x98 Command + C,瞧,文本就在您 Mac 的缓冲区中。

\n