大家好,我是良许。

今天我们讨论一个 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

输入 q 退出文件。

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

命令背后的运行过程实际上是用 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

在Vim会话里读写远程文件

如果你已经进入了一个 Vim 会话,则可以使用 Nread(NetRead)和 Nwrite(NetWrite)命令来读写远程文件。

假如,我们现在使用如下命令打开本地系统的 Vim 编辑器:

$ vim

接着你就进入了 Vim 会话,要在本地新缓存中的 Vim 会话中读一个远程文件,只需要运行如下命令:

:e scp://cirdan@192.168.225.22/info.txt

除此之外,还可以用 Nread 命令如下所示:

:Nread scp://cirdan@192.168.225.22/info.txt

或者,这样输入:

:Nread "scp://cirdan@192.168.225.22/info.txt"

想要知道这个命令的详细信息,请在 Vim 会话中输入如下命令:

:Nread ?

读完说明文件后,输入 :q 退出文件即可。

与之相似,要写入远程文件也应先使用如下命令:

:e scp://cirdan@192.168.225.22/info.txt

i 键进入插入模式就可以写入和修改文件了。

你也可以用 :w 创建并写文件,但是这个命令只能创建一个新的空文件:

:w scp://cirdan@192.168.225.22/info.txt

写完之后,按 ESC 键退出编辑,然后输入:wq保存并退出文件。

除此之外,还可以用 Nwrite 命令创建并写入文件,其用法示例如下:

:Nwrite scp://cirdan@192.168.225.22/info.txt

关于 Nwrite 命令的详细信息,在Vim会话中输入如下信息即可:

:Nwrite ?

希望这篇文章对各位有所助益。

scp创建远程目录_在Linux系统中使用Vim读写远程文件相关推荐

  1. hosts文件 端口_在Linux系统中使用Vim读写远程文件

    大家好,我是良许. 今天我们讨论一个 Vim 使用技巧--用 Vim 读写远程文件.要实现这个目的,我们需要使用到一个叫 netrw.vim 的插件.从 Vim 7.x 开始,netrw.vim 就被 ...

  2. linux系统中vi/vim文本编辑器的使用简介

    linux系统中vi/vim文本编辑器的使用简介 1. vi/vim简介 ​ vi/vim 是linux系统中最基本的编辑器,类似于windows系统中的记事本,几乎所有的linux开发版本都内置了v ...

  3. linux查找最近访问的文件,教您在Linux系统中查找最近修改的文件/文件夹

    如果您使用Linux系统进行日常操作,则主目录文件将随时间急剧增加.如果您有成千上万个文件,很可能不记得最近更改的文件名,本文将教您在Linux系统中查找最近修改的文件/文件夹.另外,如果要检查出于任 ...

  4. Linux 系统中恢复已删除的文件

    注:文章内容仅用于本人日常学习记录 Linux 系统中恢复已删除的文件 当用户意外地删除了一个仍然需要的文件时,大多数情况下,是没有简便的方法可以重新找回或重建这个文件.不过,幸运的是文件是可以通过一 ...

  5. linux 按名字查找文件夹,详细解读linux系统中使用Find命令查找文件

    摘要:文件查找是一个经常用到的功能,在linux系统中查找文件的命令比较多:find.locate.whereis .which等,今天心月就来详细解读find文件查找命令的使用. 文件查找是一个经常 ...

  6. linux查找用户前三进程_查看 Linux 系统中进程和用户的内存使用情况 | Linux 中国...

    有一些命令可以用来检查 Linux 系统中的内存使用情况,下面是一些更好的命令.-- Sandra Henry-stocker 有许多工具可以查看 Linux 系统中的内存使用情况.一些命令被广泛使用 ...

  7. python画图中文显示_解决Linux系统中python matplotlib画图的中文显示问题

    最近想学习一些python数据分析的内容,就弄了个爬虫爬取了一些数据,并打算用Anaconda一套的工具(pandas, numpy, scipy, matplotlib, jupyter)等进行一些 ...

  8. 在linux中 如何创建磁盘配额,如何在Linux系统中配置磁盘配额?

    今天我们看看如何在Linux系统中配置磁盘配额,限制用户滥用空间.使用磁盘配额是相当简单的,对于限制那些过多占用磁盘空间的家伙很有用.而且,你还可以设置软配额和硬配额,软配额可以在某个用户接近其容量空 ...

  9. centos6重启网络命令_虚拟机-linux系统中图形界面和命令行界面切换

    linux系统中图形化界面和命令行界面之间的切换可以分为两种,临时性切换和永久性切换. 临时性切换即切换后只对本次生效,系统重启后界面还是默认界面. 永久性切换即切换后系统开机后永远处于的界面. 临时 ...

最新文章

  1. 41岁程序员被裁,北京有1500万房产,程序员:我该不该退休?
  2. 信息熵是什么 转 理论吃透的创新解释
  3. javascript 对象方法、类方法、原型方法
  4. Apache Web Server - httpd 的文档根目录 及 访问控制
  5. html2canvas改成同步,html2canvas转为图片异步转同步问题(记录)
  6. java富文本如何转义_富文本编辑器wangEditor中转义字符的问题
  7. 动态规划之力扣股票类问题
  8. 量化策略回测BoolC
  9. [翻译] ASP.NET MVC Framework控制器操作安全性
  10. 百分浏览器cent browser 和他的扩展程序朋友们
  11. CentOS7防火墙配置,重启
  12. 记windows远程桌面凭据不工作解决办法
  13. 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。
  14. ckfinder 2.3 破解
  15. latex 跳转标签_在 LaTeX 中使用交叉引用
  16. 带搜索框的百度地图html
  17. Github无法访问的解决方法
  18. 关于高斯克吕格平面直角坐标系
  19. Android 蓝牙学习
  20. 企业直播—企业宣传营销的有效途径

热门文章

  1. Tip:使用Extender的ResolveControlID事件
  2. MVC是一种用于表示层设计的复合设计模式
  3. MySQL触发器(转载)
  4. visual studio code搭建本地服务器(node.js+express)
  5. bzoj1231 [Usaco2008 Nov]mixup2 混乱的奶牛——状压DP
  6. 守护线程Daemon的理解
  7. ida和idr机制分析(盘符分配机制)
  8. asp.net url传值,弹窗
  9. [转载]全面解读软件版本的标志
  10. java 算法优化向导