由于 [viminfo] 文件,您可以跨 Vim 会话粘贴。默认情况下,Vim 将非空寄存器(包括默认寄存器)的内容存储到 viminfo 文件中。这就是为什么当您p
在启动 Vim 后立即输入 (with ) 时,您会得到上次yy
退出 Vim 之前最后一次拉出 (with ) 的内容。
viminfo 文件在 Vim 退出之前写入,在 Vim 初始化期间读取。这就是为什么如果你在退出第一个实例之前启动第二个 Vim 实例,它不会自动工作。然后 viminfo 文件将被第二个实例过早读取(或第一个实例写入太晚),以使您可以跨实例放置被抽出的文本。
:wviminfo
您可以使用orwv
命令显式写入 viminfo 文件。您可以使用:rviminfo
or:rv
命令显式读取它。因此,您可以在两个单独的实例中使用这两个命令通过 viminfo 文件传输寄存器信息,而无需退出它们。
我有 set clipboard=unnamedplus
, .vimrc
也 +clipboard
有 vim --version
。
如果您使用 X11 剪贴板集成,您可以使用它在 Vim 实例之间共享复制的内容。请注意,设置该'clipboard'
选项只会影响 yanks,因此要从剪贴板寄存器中放置,您必须使用"+p
.
但这假设您有一个有效的 X11 服务器要连接,这在您的情况下是不太可能的。首先,由于您使用 PuTTY 通过 SSH 进行连接,因此您需要使用 SSH 转发从客户端导出 X11 服务器。由于您使用的是 PuTTY,我假设您使用的是 Windows 机器,默认情况下它并没有真正运行 X11,所以您必须安装一个并运行它(说起来容易做起来难。)另外,因为您正在运行 Byobu,您也将无法重新连接到现有的 Byobu 会话,该会话很可能指向无效的 X11 服务器,使用创建 Byobu 会话时的连接信息,这可能不再匹配新的X11转发新SSH会话的连接信息……可以使这一切正常工作,但是如果您需要我的意见,那可能太麻烦了,尤其是对于同一远程框中的两个 Vim 实例的这种特殊用例。