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


9

我正在从Ubuntu盒到RHEL4盒使用SSH(指定了-X)并运行GVim。它会按预期在我的本地X中打开,但是通过select复制和粘贴无效。我无法在GVim中选择文本并粘贴到本地窗口中,也无法从本地窗口中选择文本并粘贴到GVim中。但是,当我通过SSH(指定了-X)到另一个RHEL4框时,此方法有效。

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

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

编辑vim --version在两个版本的vim上运行都显示出许多差异,最值得注意的是没有问题的计算机是 GTK GUI,有问题的计算机是 X11-Motif GUI。我无法将问题框配置为使用 GTK,因为我没有安装所需的所有东西。

编辑

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

编辑

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

编辑

  • 也在SSH上连接到虚拟RHES4 U8盒的同事没有相同的问题,但是他使用了VM上的stock vim安装,而我本人和另一个同事从源代码编译了vim。我们需要一个编译标志吗?
  • 我尝试在其中一台VM上安装VM工具,但此问题没有影响。

编辑

  • 我的两个盒子之间的.vimrc是相同的,被覆盖了。

让我们更清楚一点,您是说,使用同一命令,问题仅在该计算机上发生,而不在其他计算机上发生?
phunehehe

@phunehehe,正确,通过选择复制/粘贴在从框A生成的GVim窗口上起作用,但不适用于从框B生成的GVim窗口。框A和框B均为RHEL4 U8。
罗伯特·高兰德

Answers:


2

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

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

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

一位同事最终弄清楚了这一点。


1

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


谢谢,但这不是问题。我已经更详细地更新了问题。
罗伯特·高兰

1

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

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


谢谢,但是两者之间的vimrc是相同的。
罗伯特·高兰
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.