我可以不使用 +xterm-clipboard 就从 vim 复制到另一个窗口吗?

我可以不使用 +xterm-clipboard 就从 vim 复制到另一个窗口吗?

我使用 Ubuntu 和 vim。我可以从 vim 复制文本并将其粘贴到另一个窗口中,方法是在 vim 中突出显示它,然后在另一个窗口中单击鼠标中键。当我在本地计算机上时,这可以正常工作。

我还可以通过突出显示文本并将其复制到系统寄存器中。(例如,Shift-V JJ "+ y要进入逐行可视模式,突出显示两行,选择“+”寄存器并拖拽。)然后就可以将其粘贴到其他窗口中。

但是,如果我通过 ssh 进入我的网络主机,则无法执行上述任何一项操作。(他们使用某种版本的 Linux - 我认为是 CentOS。)

在 vim 中,如果我输入:version,我的本地版本会显示+xterm_clipboard,但主机的版本会显示-xterm_clipboard。我在那里没有 sudo 权限。

有没有什么办法能够从他们的 vim 中复制,而不用让他们修改安装?

答案1

当您使用 ssh 时,出于安全原因,您通常不希望其他计算机访问您的 x 会话。但是,如果您执行 ssh -X(再次强调,您应该了解安全隐患),我认为它应该允许远程 shell 访问 x windows 剪贴板。

答案2

你能在他们的系统上运行 xcutset 吗?这应该可以解决你的问题。xclipboard 是另一个选择。

答案3

检查mouse设置vim :

:set mouse

:help mouse :

在终端中启用鼠标时,如果可以访问 X 服务器,则复制/粘贴将使用“*”寄存器。通过按住 Shift 键,仍可使用 xterm 对鼠标按钮的处理。

实际上,如果设置为ia,使用鼠标中键复制粘贴将不起作用,除非您一直shift按住该键(但该shift键技巧似乎只适用于从本地到远程,而不是反过来)。如果选项mouse设置为nv或,cr中键复制粘贴将按预期工作(显然,每个选项都有其他效果)。

vim因此,如果您没有其他特殊的鼠标需求,此命令可能会解决您的问题:

:set mouse=n

请注意,这mouse=n还将启用右键单击粘贴。

答案4

或者,您可以使用 scp 在本地 vim 中打开远程文件。然后在本地 vim 中进行剪切和粘贴。语法如下:

:e scp://user@host//path/file.txt

相关内容