我正在通过 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
)。