我可以将tmux缓冲区传输到pbcopy吗?

时间:2014-07-11 12:30:07

标签: macos clipboard tmux

我想在tmux save-buffer - | pbcopy或类似的save-buffer - | xclip -i -selection clipboard克隆中执行此操作,以便我可以将tmux剪贴板的内容传递给os-x剪贴板。问题是当我从tmux命令行运行命令时,tmux总是给我一个语法提示,或者当通过keymap运行时它说save-buffer - | pbcopy returned 1并没有任何用处。我查看linux xclip solution上的explainshell.com,但这没有用。 tmux手册页和错误消息也有点无用。有什么想法吗?

版本信息等:

  • tmux:1.9a
  • OS-X:10.9.4
  • ZSH:5.0.5

4 个答案:

答案 0 :(得分:1)

我找到了另一种方法来完成相同的结果... https://unix.stackexchange.com/questions/15715/getting-tmux-to-copy-a-buffer-to-the-clipboard 在linux和os-x上使用copy-pipe,我得到了我正在寻找的东西。 :)

答案 1 :(得分:1)

抱歉为尸检。

作为一个令人讨厌的解决方案,我建议:

  1. 通过tmux复制文本
  2. 运行cat | pbcopy
  3. 从tmux粘贴
  4. CTR + d
  5. 你走了。没有args的cat只能获得输入,直到EOF(由Ctd + D完成)

答案 2 :(得分:0)

我使用reattach-to-user-namespace程序和此配置解决了这个问题:

<强>〜/ .tmux.conf

# Define default shell
set -g default-command "reattach-to-user-namespace -l zsh"

# Copy tmux buffer content to OS clipboard
bind-key y run "tmux save-buffer - | reattach-to-user-namespace pbcopy"

现在我可以按<prefix>+y将文本从tmux缓冲区复制到OS剪贴板。

答案 3 :(得分:0)

我还希望能够选择要从哪个缓冲区复制:

bind y choose-buffer "run-shell \"tmux show-buffer -b %% | pbcopy\" \; display-message \"Copied to system clipboard\""