有没有办法在 osx 上通过 ssh 使用 tmux 和 vim 使用 iterm2 进行复制/粘贴?

有没有办法在 osx 上通过 ssh 使用 tmux 和 vim 使用 iterm2 进行复制/粘贴?

鉴于我已通过 SSH 连接到服务器并且 tmux 正在运行,有没有什么简单的方法可以将其拉入 vim 中的寄存器并:

  • 该文本是否可以在我的 tmux 剪贴板中使用?
  • 我的 osx 剪贴板中有该文本吗?

我知道如何在 tmux 中复制/粘贴,iterm2 似乎可以将其传递到我的 osx 剪贴板上。但是有时我想在 vim 分屏中拉出文本,而 tmux 复制/粘贴不起作用。有人解决了这个问题吗?

非常感谢!

答案1

一种方法是创建一个 vim 函数,使用redirwritefile将提取的寄存器转储到文件中,使用tmux load-buffer将其放入 tmux 剪贴板,然后删除该文件。

为了将远程 tmux 剪贴板放入 OS X 剪贴板,我使用ssh HOST tmux show-buffer | pbcopy

这两种情况都有点烦人,但我不知道还有什么更好的方法可以解决这个问题。

答案2

答案的一部分是在通过 SSH 退出之前在 Mac 上本地运行 tmux。然后,您就可以使用本地 tmux 进行复制/粘贴。同样,如果您需要在远程 vim 会话中抓取比当前屏幕更大的更多代码行,那么这不是非常理想的选择,但它适用于大多数场景。

相关内容