在没有X的vim之间复制/粘贴


8

在vim中,"+p从系统剪贴板粘贴。但是,在非GUI盒上通过SSH远程工作时,此功能不可用。

在这种环境下可以实现复制/粘贴吗?

仅从终端复制文本是不够的,因为它还会复制超出文件范围的内容(例如,如果使用tmux,则会复制全屏显示,因为它们都是纯文本)。

Answers:


1

一种解决方法是使用(远程访问)临时文件来传输文本:

万一您可以SSH返回自己的系统,只需:split scp://hostname/path/to/file将被选中的文本放在其中,然后点击即可:write

如果您只能在系统和服务器之间使用SSH,请在本地打开Vim并从服务器访问临时文件:(vim scp://server/path/to/file或直接使用scp)。

这一切都由Vim附带的netrw插件启用。


0

在MacOS上,当SSH从机器A到机器B并在机器B中使用vim时,我将其添加到机器B中的.vimrc中:

nmap yr :call system("ssh $machineA_IP pbcopy", @*)<CR>

这样,在正常模式下,假设您已使用+ clipboard和* register正确设置了Vim,则将vim @ machine_B复制到机器A的本地剪贴板时* *的内容

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.