在Linux系统中使用Vim读写远程文件

简介: 在Linux系统中使用Vim读写远程文件

大家好,我是良许。

今天我们讨论一个 Vim 使用技巧——用 Vim 读写远程文件。要实现这个目的,我们需要使用到一个叫 netrw.vim 的插件。从 Vim 7.x 开始,netrw.vim 就被设置为默认安装的标准插件了。这个插件允许用户通过 ftp、rcp、scp、http 等协议读写、编辑和浏览远程文件。



插件 netrw 是什么?



netrw(面向网络的读写和浏览  Network oriented reading, writing and browsing)插件不仅支持本地和远程终端跨网络编辑、读写文件,还能支持浏览本地和远程终端目录。需要了解这个插件的更多细节信息,在 Vim 会话输入 help netrw 即可查看。

下面让我们来看看怎么用 Vim 从本地系统读写存储在远程 Linux 系统上的文件。



使用 Linux 系统上的 Vim 读写远程文件



读写远程文件的方法几乎和编辑远程文件一样,需要从本地系统读取一个远程文件,我们可以简单的使用下面这个命令来打开它:


$ vim scp://cirdan@192.168.225.22/info.txt

微信图片_20220419162134.gif操作示例

输入 q 退出文件。

要从本地系统写一个远程文件,也是先用上述命令打开文件,之后再按 i 进入插入模式接着就可以往文件里写入了。等写完需要写入文件的内容之后,按 ESC 键退出插入模式,然后输入 wq 保存并退出。

微信图片_20220419162137.gif

操作示例

命令背后的运行过程实际上是用 scp 命令将远程文件拷贝到本地系统的 /tmp 目录下,然后再打开文件编辑的。在你编辑完后,scp 命令再次将本地已编辑文件拷贝回远程系统。

要从本地查看远程文件内容是否真的改动过用这一条命令:


$ ssh cirdan@192.168.225.22 cat info.txt

请注意,如果你要用远程终端目录的绝对路径,应像如下所示命令一样使用双斜杠:


$ vim scp://cirdan@192.168.225.22//home/cirdan/Documents/info.txt

如果你已经因为安全原因改变了SSH端口,则应当显式地说明SSH端口号,如下所示:


$ vim scp://cirdan@192.168.225.22:2200/info.txt

这里端口 2200 就是我们自定义的端口号,大家可以根据具体情况使用自己的 ssh 端口号替代上述命令中的2200。

如果你没有 ssh/scp 的通道,也可以用其他协议来替代,如下所示:


$ vim ftp://user@remotesystem/path/to/file
目录
相关文章
|
1天前
|
Linux Shell
IP地址库Linux系统从APNIC获取地址库
IP地址库Linux系统从APNIC获取地址库
|
1天前
|
Ubuntu Linux
查看Linux系统是Ubuntu还是CentOS
查看Linux系统是Ubuntu还是CentOS
13 0
|
1天前
|
Linux Shell Perl
编程入门(六)【Linux系统基础操作四】
编程入门(六)【Linux系统基础操作四】
|
1天前
|
Linux Shell
编程入门(六)【Linux系统基础操作三】
编程入门(六)【Linux系统基础操作三】
|
1天前
|
Linux Shell 数据库
编程入门(六)【Linux系统基础操作二】
编程入门(六)【Linux系统基础操作二】
|
1天前
|
供应链 Ubuntu Linux
编程入门(六)【Linux系统基础操作一】
编程入门(六)【Linux系统基础操作一】
|
1天前
|
SQL Java Linux
Linux系统cpu飙升到100%排查方案
Linux系统cpu飙升到100%排查方案
|
23小时前
|
编解码 Ubuntu Linux
linux 系统命令总结之ubuntu 系列命令 持续更新中
linux 系统命令总结之ubuntu 系列命令 持续更新中
|
1天前
|
Linux
linux centos history 查看命令历史 显示时间戳
linux centos history 查看命令历史 显示时间戳
|
2天前
|
Java Linux 应用服务中间件
【JavaEE进阶】 Linux常用命令
【JavaEE进阶】 Linux常用命令