

「VIM」 从远程机器复制文件内容到本机剪贴板
source link: https://hiberabyss.github.io/2017/11/30/vim-remote-copy/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

通过 ssh 登录到远程机器后,想要复制远程机器的文件内容是一件很麻烦的事情。 通过拖动来复制对于多行的内容很难实现精确定位,还有可能会遇到换行符的问题。利用 clipper 命令可以很方便地复制远程机器的内容到本机剪贴板中。
安装与启动
macOS 系统可以通过 brew install clipper
安装。安装完成后通过 brew services start clipper
启动。 通过以下命令检查 clipper 是不是正常启动:
➜ blog git:(hexo) ✗ ps -ef | grep clipper
502 463 1 0 3:07PM ?? 0:00.09 /usr/local/opt/clipper/bin/clipper
当确认 clipper 启动成功后,通过下面的命令连接到远程机器:
ssh -R 8377:localhost:8377 192.168.0.32
确认远程机器上安装有 nc
(对于 CentOS 机器可以通过 sudo yum install -y nmap-ncat
来安装), 执行下面的命令:
echo hello,world | nc localhost 8377
现在 “hello,world” 字符转已经成功复制到本机的剪贴板了。可以切换到浏览器地址栏粘贴查看结果。
每次连接远程机器都需要加上 -R 8377:localhost:8377
参数显得有些冗余,我们可以通过修改 ~/.ssh/config
文件来实现连接远程主机时默认加上这个参数,只需把下面这行添加到文件 ~/.ssh/config
里:
RemoteForward 8377 localhost:8377
在远程主机的 VIM 里复制内容
我们可以利用 :[range]w[rite] [++opt] !{cmd}
来实现文件内容的复制:
- 复制当前行:在 VIM 中执行
:.w !nc localhost 8377
- 复制选中的行:选中要复制的行后,执行
:'<,'>w !nc localhost 8377
( 进入命令行模式后 VIM 会自动帮忙填充'<,'>
) - 复制整个文件:在 VIM 中执行
:%w !nc localhost 8377
- 复制 VIM 默认 register 的内容:在 VIM 中执行
:call system('nc localhost 8377', @")
通过 VIM 插件 vim-clipper
安装了 vim-clipper 插件后:
Plug 'https://github.com/wincent/vim-clipper'
可以直接通过命令 :Clip
来复制 VIM 默认 register 的内容。
Recommend
-
99
JavaScript复制内容到剪贴板
-
33
-
30
每日前端夜话 第332篇 翻译: 疯狂的技术宅 作者:Sanwar ranwa 来源:dzone 正文共:1376 字 预...
-
16
最近的项目上需要做复制粘贴相关的操作,来总结下吧 复制、剪切、粘贴事件: copy 发生复制操作时触发;cut 发生剪切操作时触发;paste 发生粘贴操作时触发;每个事件都有一个 before 事件对应:befo...
-
8
阿航 2020年5月30日
-
12
剪贴板的内容粘贴为文件-PasteEx – 开源派 PasteEx是国人开源的 Windows 下粘贴时自动生成文件的开源小工具。基于C#编写,遵守GPL开源协议。环境要求
-
14
需求如下:将index.txt 的内容进行格式转换后复制到剪贴板。index.txt莲子心中苦,梨儿腹内酸。--明末清初.金圣叹 雨入花心,自成甘苦。水归器内,各现方圆。--明末清初.金圣叹 真读书人天下少,不...
-
7
expect可以和远程终端以及本机后台进程同时交互吗? expect常用的方式就是交互式远程登录,spawn产生登录请求,等待对方返回一个“password”之类的验证要求,然后程序把提前录入的密码自动补上去。但是如果对方返回的是一...
-
3
headers字符串转字典 并储存在headers.json 复制到剪贴板-Python程序-效果演示发布于 今天 03:53 代码效果...
-
7
js复制文本到剪切板有很多方法,很多朋友会用开源库,其实纯js的方式实现也很简单。关于复制和剪切板,之前也写过很多文章,例如。 javascript execCommand,复文本框神器
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK