热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

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

这篇文章主要介绍了在Linux系统中使用Vim读写远程文件的相关知识,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,

设定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

输入 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 ?

总结

到此这篇关于在Linux系统中使用Vim读写远程文件的文章就介绍到这了,更多相关linux使用vim读写远程文件内容请搜索编程笔记以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程笔记!

原文链接:https://www.cnblogs.com/yychuyu/archive/2020/07/29/13399373.html


推荐阅读
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • 大坑|左上角_pycharm连接服务器同步写代码(图文详细过程)
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了pycharm连接服务器同步写代码(图文详细过程)相关的知识,希望对你有一定的参考价值。pycharm连接服务 ... [详细]
  • DockerDataCenter系列(四)-离线安装UCP和DTR,Go语言社区,Golang程序员人脉社 ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 本文介绍了5个基本Linux命令行工具的现代化替代品,包括du、top和ncdu。这些替代品在功能上进行了改进,提高了可用性,并且适用于现代化系统。其中,ncdu是du的替代品,它提供了与du类似的结果,但在一个基于curses的交互式界面中,重点关注占用磁盘空间较多的目录。 ... [详细]
  • 本文介绍了在RHEL 7中的系统日志管理和网络管理。系统日志管理包括rsyslog和systemd-journal两种日志服务,分别介绍了它们的特点、配置文件和日志查询方式。网络管理主要介绍了使用nmcli命令查看和配置网络接口的方法,包括查看网卡信息、添加、修改和删除配置文件等操作。 ... [详细]
  • 在单位的一台4cpu的服务器上部署了esxserver,挂载了6个虚拟机,目前运行正常。在安装部署过程中,得到了cnvz.net论坛精华区 ... [详细]
  • Linux一键安装web环境全攻略
    摘自阿里云服务器官网,此处一键安装包下载:点此下载安装须知1、此安装包可在阿里云所有Linux系统上部署安装,此安装包包含的软件及版本为& ... [详细]
  • 本文主要介绍关于linux文件描述符设置,centos7设置文件句柄数,centos7查看进程数的知识点,对【Linux之进程数和句柄数】和【linux句柄数含义】有兴趣的朋友可以看下由【东城绝神】投 ... [详细]
  • 基于SSL的mysql服务器的主从架构实现说明:本文选用172.16.22.1作为主服务器,172.16.22.3作为从服务器从服务器的mysql软件版 ... [详细]
  • 集成电路企业在进行跨隔离网数据交换时面临着安全性问题,传统的数据交换方式存在安全性堪忧、效率低下等问题。本文以《Ftrans跨网文件安全交换系统》为例,介绍了如何通过丰富的审批流程来满足企业的合规要求,保障数据交换的安全性。 ... [详细]
  • python3.7 安装pip3_python3的pip3安装
    ---恢复内容开始---pip3的安装需要对应一整套python的编译工具库,所以安装好的pip3是这个样子:inearAi:~$pip3-Vpi ... [详细]
author-avatar
手机用户2502922477
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有