我安装了支持剪贴板和 xterm_clipboard 的 VIM。但是寄存器 "* 和 "+ 不起作用。我怀疑 Ubuntu 服务器版本不支持 GUI,所以也不支持剪贴板。根据 VIM 文档,"* 代表 X 服务器中的 PRIMARY 选择,"+ 代表 CLIPBOARD。我通过 SSH 访问服务器。我想要做的是在不同终端中打开的单独 VIM 之间复制/粘贴。这种情况就像我通过 SSH 打开两个终端访问 ubuntu 服务器,并在这两个终端中打开 VIM。如果支持 PRIMARY 选择和 CLIPBOARD,VIM 可以在复制/粘贴时访问它们,这样我就可以快速在两个 VIM 之间复制/粘贴。
我可以通过鼠标选择从 windows 终端复制/粘贴。但这依赖于 windows 终端的功能。如果我可以通过 ubuntu 服务器的剪贴板直接在 VIM 中复制/粘贴,那就方便多了。
感谢@muru的澄清。现在,我更清楚地了解了X11和X11转发。我问的是如何启用ubuntu服务器上的X11,以便VIM可以使用X11的剪贴板,并且可以在不同的Vim会话中共享复制/粘贴内容。理想情况下,我不想安装整个GUI包。我尝试安装xorg和xauth,但它们不起作用。
无法将文本从终端复制到外部程序不是我想要的。它解决了本地 PC 上终端和其他程序之间的复制/粘贴问题。但我想要的是在同一台服务器上打开的不同 Vim 会话之间进行复制/粘贴。
终于,我找到了答案https://vi.stackexchange.com/questions/19899/vi-and-registers-do-not-exist。 这个对我有用。
答案1
从您的问题中不能完全清楚您想要做什么,但作为 X.org 剪贴板的替代方案,您可以使用tmux
,它具有复制模式和多个缓冲区,可用于复制和粘贴文本。
对于默认的键绑定tmux
:
- Ctrl+b然后[:进入复印模式
- Space:开始选择
- Esc:停止选择
- Enter:将选择内容复制到缓冲区
- Ctrl+b然后]:粘贴顶部缓冲区的内容(当不再处于复印模式时)
参考这里:Tmux 备忘单。