从通过 SSH -X 打开的源代码编译的 GVim 不会在选择时复制粘贴

从通过 SSH -X 打开的源代码编译的 GVim 不会在选择时复制粘贴

我使用 SSH(指定了 -X)从 Ubuntu 机器到 RHEL4 机器并运行 GVim。它在我的本地 X 中按预期打开,但通过选择进行复制和粘贴不起作用。我无法在 GVim 中选择文本并粘贴到本地窗口中,也无法从本地窗口中选择文本并粘贴到 GVim 中。但是,当我通过 SSH(指定 -X)连接到不同的 RHEL4 机器时,此方法有效。

我需要在远程计算机上安装什么东西吗?

编辑:我怀疑它与我使用的编译标志有关,但我不知道是哪一个。我已经尝试过--enable-gnome-check--enable-gtk2-check因为我在本地计算机上运行 gnome,但这并没有解决问题。

编辑vim --version在两个版本的 vim 上运行显示出许多差异,最值得注意的是没有问题的机器是针对GTKGUI 和确实有问题的机器是X11-基序图形用户界面。我无法配置要使用的问题框GTK不过因为我没有安装我需要的所有东西。

编辑

  • 谢谢你们到目前为止的帮助,伙计们。
  • 澄清一下,通过选择复制/粘贴适用于从框 A 生成的 GVim 窗口,但不适用于从框 B 生成的 GVim 窗口。框 A 和框 B 都是 RHEL4 U8。
  • 当我在 GVim 窗口中选择某些文本时,我可以通过在该窗口中右键单击来粘贴它,但我无法将其粘贴到本地运行的任何内容中。当我在本地选择某些内容时,我可以在本地粘贴它,但是当我粘贴到 GVim 窗口时,它会粘贴 GVim 窗口中最后选择的内容,而不是本地最后选择的内容。
  • 只是为了让它变得更奇怪有时我从同一个框中打开第二个 GVim 窗口,我可以粘贴到第二个窗口(尽管仍然不是第一个窗口),但我仍然无法在该窗口中选择某些内容并将其粘贴到本地。
  • 我使用 Ctrl-Shift-C 得到相同的行为。使用鼠标选择时按住 Shift 键可防止选择。 Ctrl-Shift-V 在 vi​​m 中开始块选择,而不是粘贴。
  • 我在本地机器上运行 Parcellite 0.9.2,但关闭它并不能解决问题,并且不会干扰其他机器。

编辑

  • 出现问题的机器是在 VM Player 上运行的虚拟机。

编辑

  • 一位同事也通过 SSH 连接到虚拟 RHES4 U8 盒子,但没有遇到同样的问题,但他使用了库存 Vim 安装在虚拟机上,而我自己和另一位遇到问题的同事从源代码编译vim。是否有我们需要的编译标志?
  • 我尝试在其中一台虚拟机上安装虚拟机工具,但对这个问题没有任何影响。

编辑

  • 我的两个盒子之间的 .vimrc 是相同的,经过 scp 处理。

答案1

原来问题是远程的 vim 不是用 GTK 编译的。发生这种情况是因为远程盒子上没有必要的包。因此,即使--enable-gtk2-check设置了编译标志,它实际上也不包含 GTK。

要修复此问题,请登录到远程计算机并:

  1. 安装gtk2-devel,
  2. 重新配置、重新制作和重新安装 vim

最终,一位同事发现了这一点。

答案2

只是一些想法,没有实际测试。如果您使用 shell 启动 ssh 会话,则可以使用Ctrl-Shift-cCtrl-Shift-v进行粘贴。否则,右键单击您的选择是否会向您建议“复制”?

答案3

我会尝试的一件事是确保您实际上让 X 处理选择。如果你set mouse=a的文件中有vimrc,那么 vim 会将选择解释为它的视觉模式。如果是这种情况,请尝试Shift在选择时按住。

您的终端模拟器可能有自己的复制和粘贴机制,例如 gnome-terminal 用于Ctrl Shift c复制和Ctrl Shift v粘贴(如 Morlock 中所述)他的回答)。你可以改用它。

相关内容