如何将文本从远程 vim 复制并粘贴到本地 vim?

如何将文本从远程 vim 复制并粘贴到本地 vim?

我正在通过 ssh 在远程计算机上的 vim 中编辑文件,我想从远程文件中复制文本并将其粘贴到本地计算机上运行的 vim 实例中。有没有简单的方法可以做到这一点?我可以使用终端仿真器的选择功能来选择当前屏幕上的文本,但如果我的选择大于屏幕可以容纳的范围,我就没那么幸运了。

答案1

打开远程文件本地 vim 会话:

  :e scp://user@host/relative/path/from/home.txt

答案2

如果您在远程计算机上有足够的权限,您可以添加

AcceptEnv WINDOWID

到 /etc/ssh/sshd_config 并使用以下命令重新启动 sshd

sudo /etc/init.d/ssh restart

然后在本地机器上添加

ForwardX11 yes
SendEnv WINDOWID

到你的 ~/.ssh/config 文件

然后通过在远程机器上运行 X 感知 vim(例如gvim -v),您可以从 X 剪贴板复制和粘贴。只需直观地选择文本(例如,使用V)并将其拉入*寄存器即可。

编辑

我忘记在您的 ~/.ssh/config 中包含有关设置的部分SendEnv WINDOWID,所以我添加了该部分,并将 X 转发的启用从命令行(ssh-X选项)移至 ~/.ssh/config 文件(ForwardX11 yes)。

相关内容