【问题标题】:tmux and macOS Clipboardtmux 和 macOS 剪贴板
【发布时间】:2017-12-28 13:12:19
【问题描述】:

是否有可靠的方法使tmux 2.5macOS 剪贴板一起使用?

升级到 2.5 后,一切都走下坡路。我已经尝试了我找到的所有解决方案,但没有任何效果。任何人都可以为我提供tmux.conf 的工作样本吗?

我可以从 tmux 里面的 neovim 复制就好了。我无法使用 tmux 本身复制文本。

这是我在.tmux.conf 中的内容:

setw -g mode-keys vi
bind-key -T copy-mode-vi 'v' begin-selection
bind-key -T copy-mode-vi 'y' copy-pipe-and-cancel "reattach-to-user-namespace pbcopy" \; display-message "copied to system clipboard"

这些是每次启动会话时出现的错误:

.tmux.conf:95: unknown command: begin-selection                
.tmux.conf:96: unknown command: copy-pipe-and-cancel

我尝试了以下方法:

set-window-option -g mode-keys vi
bind-key -Tcopy-mode-vi 'v' send -X begin-selection
bind-key -Tcopy-mode-vi 'y' send -X copy-pipe-and-cancel pbcopy

我也试过了:

bind-key -Tcopy-mode-vi 'y' send -X copy-pipe-and-cancel

什么都没有。

【问题讨论】:

  • 你能让它工作吗?
  • 是的,请看下面的答案

标签: macos macos-sierra tmux macos-high-sierra


【解决方案1】:

我让它与tmux 2.6 一起工作,如下所示:

删除了reattach-to-user-namespace 的所有引用,现在我的.tmux.conf 中有这个:

set-window-option -g mode-keys vi
bind-key -T copy-mode-vi v send -X begin-selection
bind-key -T copy-mode-vi y send-keys -X copy-pipe-and-cancel "pbcopy"
bind-key -T copy-mode-vi MouseDragEnd1Pane send-keys -X copy-pipe-and-cancel "pbcopy"
bind-key -T copy-mode-vi Enter send-keys -X copy-pipe-and-cancel "pbcopy"

【讨论】:

  • 您的回答“已删除reattach-to-user-namespace”中的词语是否意味着您已卸载reattach-to-user-namespace(来自github.com/ChrisJohnsen/tmux-MacOSX-pasteboard)的二进制文件?还是您从.tmux.conf 文件中删除了文字标记reattach-to-user-namespace(即您将.tmux.conf"reattach-to-user-name-space pbcopy" 的所有文字实例更改为"pbcopy")?
  • .tmux.conf 中删除,无需卸载,但在我的点文件中的任何地方都没有使用。
【解决方案2】:

遇到了与您类似的问题。 尝试重新安装reattach-to-user-namespace

brew uninstall --force reattach-to-user-namespace
brew install reattach-to-user-namespace --with-wrap-pbcopy-and-pbpaste

以下对我有用

set-window-option -g mode-keys vi
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"

【讨论】:

  • 浪费了我的赏金!
【解决方案3】:

这是我的。它使用 vi 模式键:

# .tmux.conf
set-window-option -g mode-keys vi

bind-key -Tcopy-mode-vi 'v' send -X begin-selection
bind-key -Tcopy-mode-vi 'y' send -X copy-pipe-and-cancel pbcopy

如果您使用的是 iTerm,请确保您选择了“终端中的应用程序可以访问剪贴板”。

【讨论】:

  • 问题是我几乎完全一样,在这里我更新了问题。尝试了您的变体 - 它不起作用。我相信你有tmux < 2.5
  • 您的变体中缺少“send -X”,否则我不确定..我正在运行 2.5。
  • 也试过了。我已经更新了帖子。没有。不过,在 tmux 内的 neovim 上工作得很好。
  • 各位,试试把第二行改成bind-key -T copy-mode-vi y send -X copy-pipe-and-cancel "reattach-to-user-namespace pbcopy"
  • 正如@TrevorOke 提到的,iTerm2 设置“终端中的应用程序可以访问剪贴板”是关键!
猜你喜欢
  • 1970-01-01
  • 2017-09-10
  • 1970-01-01
  • 1970-01-01
  • 2020-05-30
  • 2010-11-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多