【发布时间】:2017-08-22 20:46:16
【问题描述】:
如何增加 vim 的 yank 和 paste,所以当我 yank 时,vim 会将内容写入文件。当我粘贴时,它使用文件中的内容。我想要一个系统范围的文件作为全局缓冲区。
上下文:我在远程服务器(通过 ssh)上以不同的 tmux 拆分运行 vim。我想在 tmux 拆分中的 vim 之间无缝复制和粘贴。我尝试了一堆插件,但没有一个有效,因此问题。
【问题讨论】:
-
你到底卡在哪里了?应该可以编写一个范围命令来执行此操作,并覆盖
y和p。但我建议不要使用y和p,因为您需要处理很多注册站点。 -
@DoktorOSwaldo 我试过那个答案stackoverflow.com/a/11052783/1082727。但是,复制/粘贴不稳定。有时它会复制有时它不会。我不知道如何诊断问题。 vim 如何写入和读取文件可能有些复杂。
-
服务器有 X 服务器吗?那么X-Forwarding将是一种可能性。如果不使用 vim splits 而不是 tmux splits 值得考虑,但并不适合所有用例。使用 tmux 剪贴板应该可以工作。我真的无法进一步帮助你,只是暗示它必须是相同的 tmux 会话才能工作。将粘贴的文本写入文件是可以实现的,但是,如果您想使用普通的 vim 命令,这将是非常重要的,我不建议这样做。
-
您无需写入文件即可执行此操作。只需修复您的剪贴板集成。我经常 ssh 到不同终端窗口中的两台不同服务器,并且可以拉入一个 vim 并粘贴到另一个 vim,无论我使用的是 Windows、MacOS 还是 Linux。如何做到这一点取决于您在每一侧使用的操作系统和终端,tmux 会使它复杂化(但仍然有效),因此您必须研究您的特定情况。