能否通过Vim编辑器在远程主机A与主机B间复制粘贴内容?
在远程主机A与B之间用Vim跨主机复制粘贴内容
以下是几种实用的实现方法,根据你的环境选择:
方法一:利用系统剪贴板(推荐,需终端支持)
- 在主机A的Vim中,光标定位到要复制的起始行,按
V进入可视行模式,移动光标选中所有目标行。 - 按
"+y将选中内容复制到系统剪贴板("+代表系统剪贴板寄存器)。 - 切换到主机B的终端会话,在目标文件的Vim中,光标移到要粘贴的位置,按
"+p完成粘贴。 - 验证支持性:在Vim中输入
:version,查看是否包含+clipboard标识,若为-clipboard,需安装带剪贴板支持的Vim版本(如Debian/Ubuntu的sudo apt install vim-gtk3)。
方法二:通过临时文件+SCP传输(无剪贴板时适用)
- 主机A导出内容:
在选中目标行后,Vim命令行自动填充选中范围<,>,输入以下命令将内容写入临时文件::'<,'>w /tmp/vim_copy_temp.txt - 传输到主机B:
在主机A的终端执行SCP命令(替换user_B和host_B_ip为实际信息):scp /tmp/vim_copy_temp.txt user_B@host_B_ip:/tmp/ - 主机B导入内容:
在主机B的Vim中,光标移到粘贴位置,输入命令读取临时文件::r /tmp/vim_copy_temp.txt - 清理临时文件:分别在A、B的终端执行:
rm /tmp/vim_copy_temp.txt
方法三:Vim直接远程编辑(主机A可访问主机B时)
- 在主机A的Vim中,复制目标行到剪贴板(
"+y)。 - 直接在Vim中打开主机B的目标文件(替换用户、主机地址和文件路径):
:e scp://user_B@host_B_ip/path/to/target/file - 光标移到粘贴位置,按
"+p完成粘贴,最后:w保存。
内容的提问来源于stack exchange,提问作者teng_zhang
相关产品推荐
相关产品推荐

