在Linux系统中使用Vim读写远程文件的命令详解

作者:良许Linux 时间:2023-11-02 15:56:13 

设定vim的工作方式(临时)

:set (模式信息)
:set nu — 显示行号
:set nonu — 取消行号
:set mouse=a — 设定鼠标可用
:set cursorline — 设定显示行线
:help — 查看帮助

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

在Linux系统中使用Vim读写远程文件的命令详解

输入 q 退出文件。

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

在Linux系统中使用Vim读写远程文件的命令详解

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

在Linux系统中使用Vim读写远程文件的命令详解

想要知道这个命令的详细信息,请在 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 ?

来源:https://www.cnblogs.com/yychuyu/archive/2020/07/29/13399373.html

标签:linux,vim,远程文件
0
投稿

猜你喜欢

  • 服务器维护经验谈 图解DHCP故障排除

    2010-03-29 19:01:00
  • 防范非法用户入侵Win 2K/XP系统七招

    2009-12-02 18:54:00
  • Linux下修改jar、zip等文件内的文件详解

    2021-08-16 02:39:17
  • 国内域名服务商遭DNS攻击事件始末

    2010-01-21 10:05:00
  • 详解docker容器分配静态IP

    2023-06-25 06:18:59
  • 戴志康:黏性强的网站有前途

    2008-04-21 14:22:00
  • Office 2010技术预览将终结 Beta发布在即

    2009-10-28 09:18:00
  • apache服务出现Forbidden 403问题的解决方法总结

    2023-08-25 21:39:21
  • docker容器中无法获取宿主机hostname的解决方案

    2021-07-26 02:13:41
  • 网站改版的需要注意的几个要点

    2010-06-09 11:10:00
  • 如何对所有SMTP队列禁用出站邮件

    2010-03-16 19:07:00
  • DDoS防范和全局网络安全网络的应对

    2009-09-04 13:40:00
  • 系统安全之关闭那些存在隐患的高危端口

    2010-04-02 19:15:00
  • 如何利用多核CPU来加速你的Linux命令(GNU Parallel)

    2023-08-29 09:19:05
  • Discuz! 分类信息让地方论坛的信息更明细

    2009-02-20 16:15:00
  • 借用SSL验证,让IIS信息访问更安全(1)

    2007-03-27 09:36:00
  • 2008年适用 搜索引擎算法200个相关因素

    2008-12-11 10:36:00
  • Alexa.com的排名原理

    2008-06-16 12:04:00
  • 利用博客写英文评论赚钱

    2009-05-27 01:20:00
  • 虚拟机VMware安装步骤及镜像文件下载详解

    2022-09-08 01:29:12
  • asp之家 网站运营 m.aspxhome.com