首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在远程vps和本地vim之间复制和粘贴数据?

如何在远程vps和本地vim之间复制和粘贴数据?
EN

Unix & Linux用户
提问于 2018-09-23 11:03:33
回答 3查看 3.5K关注 0票数 4

将远程vps与ssh连接。

代码语言:javascript
复制
ssh user@vps_ip

用vim编辑远程vps中的文件并编写一行

代码语言:javascript
复制
some text

在正常模式下,按yy,如何将some text粘贴到本地的‘vim?

反之亦然。

1.葡萄的桂味

在本地vim中,其os是debian:

代码语言:javascript
复制
vim --version | grep clipboard
+clipboard       +job             +path_extra      +user_commands
+eval            +mouse_dec       +statusline      +xterm_clipboard

在远程vim中,其操作系统是debian:

代码语言:javascript
复制
vim --version | grep clipboard
-clipboard       +iconv           +path_extra      -toolbar
+eval            +mouse_dec       +startuptime     -xterm_clipboard

无法在远程vim中安装vim。

代码语言:javascript
复制
sudo yum  install -y vim-gtk
No package vim-gtk available.

2.本地系统是否有X服务器?

3.您是否在本地系统上使用GUI登录会话?

本地操作系统中的桌面是LXDE,输入GUI登录会话。

EN

回答 3

Unix & Linux用户

回答已采纳

发布于 2018-09-27 01:39:28

您可以通过运行vim scp://user@vps_ipi/remote_file打开远程文件,然后使用:e local_file打开本地文件,然后可以使用:bn在缓冲区之间切换,并使用yyp命令在缓冲区之间复制和粘贴。

我做了一个打开远程脚本的测试,然后用ggVGy复制它的所有内容,切换缓冲区:bn并粘贴到P

票数 4
EN

Unix & Linux用户

发布于 2018-09-23 11:31:21

您甚至不能在同一台主机上粘贴来自两个不同vim进程的文本,因此不能从不同主机上的进程粘贴文本。

您可以做的是,对于短文本,将文本从一个终端窗口中的vim复制到主机的剪贴板,并将其从主机的剪贴板粘贴到另一个终端窗口的vim中。如果不使用终端窗口,也可以使用tmux实现类似的效果。emacs内部的ssh会话也可以工作,但是如果您想使用emacs,就不会询问vim。

对于较长的文本,我会使用scp之类的porgram将它们复制到/从远程主机复制,然后在本地使用该文件。

票数 3
EN

Unix & Linux用户

发布于 2019-07-11 08:00:25

使用ssh -Y <hostname>,它将允许ssh会话访问本地机器的剪贴板。确保在远程计算机上在X11Forwarding中启用了/etc/ssh/sshd_config

在这两台机器上添加到.vimrc:

代码语言:javascript
复制
 set clipboard=unnamedplus

这将允许在默认情况下使用剪贴板进行yank操作。现在,正常的yank和粘贴将在不同的机器上工作。或者,您也可以使用"+y指定剪贴板寄存器以达到同样的效果。

我想这个答案在您的情况下是行不通的,因为您在远程vim中没有clipboard支持,但是我想为完整添加这个答案,因为谷歌在搜索如何使用vim在机器之间复制文本时就会发现这个问题,这可能对其他人很有用。

票数 2
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/470851

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档