前段时间,我们讨论了如何 使用 Vim 编辑器编辑远程文件 在 Linux 上。 使用该方法,我们通过 SSH 编辑存储在远程系统上的文件,而无需实际登录远程系统。 今天我们将讨论一个类似的 Vim 技巧—— 用 Vim 读写远程文件. 从 Vim 7.x 版本开始, netrw.vim 插件 默认情况下作为标准插件安装。 该插件允许用户通过 ftp、rcp、scp 或 http 读取、编辑、写入和浏览远程文件。
什么是 Netrw 插件?
对于那些想知道的人来说, 网络 (面向网络的读、写和浏览)插件支持本地和远程编辑,跨网络读写文件。 它还支持浏览本地和远程目录。 有关更多详细信息,请键入 :help netrw 在你的 vim 会话中。 让我们继续看看如何使用 Vim 从我们的本地系统读取或写入存储在远程 Linux 系统中的文件。
在 Linux 上使用 Vim 读写远程文件
读取和写入远程文件几乎与编辑远程文件相同。
要从本地系统读取远程文件,我们只需使用命令打开它:
$ vim scp://[email protected]/info.txt
类型 q 退出文件。
要写入远程文件,只需如上所示打开它并按 “一世” 进入插入模式,最后开始写入。 完成后,按 ESC键 并输入 :wq 保存并退出。
在后台实际发生的是使用 scp 命令将远程文件复制到本地系统的“/tmp”目录中。 然后打开文件进行编辑。 完成后,scp 命令将文件复制回远程系统。
从本地系统查看远程文件的内容,以验证文件是否真的被使用命令修改:
$ ssh [email protected] cat info.txt
请注意,如果您想提及远程主机上目录的绝对路径,请使用 双斜线 (//) 如以下命令所示:
$ vim scp://[email protected]//home/sk/Documents/info.txt
以防万一你已经 更改了默认 SSH 端口 出于安全目的,您应该明确提及 SSH 端口,如下所示。
$ vim scp://[email protected]:2200/info.txt
将 2200 替换为您的 SSH 端口号。
如果您没有 ssh/scp 访问权限,则可以使用其他协议,例如 example ftp,如下所示。
$ vim ftp://[email protected]/path/to/file
在 Vim 会话中读取和写入远程文件
如果您已经在 Vim 会话中,则可以使用以下命令读取和写入远程文件 读 (网络阅读)和 写 (NetWrite) 命令。
使用以下命令在本地系统中打开 Vim 编辑器:
$ vim
您现在在 Vim 会话中。 要从新缓冲区中的本地 Vim 会话中读取远程文件,只需运行:
:e scp://[email protected]/info.txt
或者,您可以使用 “Nread” 命令如下。
:Nread scp://[email protected]/info.txt
或者,
:Nread "scp://[email protected]/info.txt"
有关更多详细信息,请在 Vim 会话中键入以下命令:
:Nread ?
读取文件后,键入 :q 退出。
同样,要写入远程文件,请运行:
:e scp://[email protected]/info.txt
按“i”进入插入模式并开始写入/修改它。
你也可以使用 :w 命令来创建和写入文件。 但是这个命令只会创建新的空文件。
:w scp://[email protected]/info.txt
写完后按 ESC键 并输入 :wq 保存并退出。
或者,使用 “写” 创建命令以写入如下文件。
:Nwrite scp://[email protected]/info.txt
要了解有关 Nwrite 的更多详细信息,请在 Vim 会话中键入以下内容:
:Nwrite ?
希望这可以帮助。
建议阅读:
- 通过 SSH 在远程 Linux 系统上执行命令
感谢您的光临!
帮助我们帮助您:
- 订阅我们的电子邮件通讯: 立即注册
- 支持 OSTechNix: 通过贝宝捐款
- 下载免费的电子书和视频: TradePub 上的 OSTechNix
- 联系我们: 红迪网 | Facebook | Twitter | 领英 | RSS订阅
祝你有美好的一天!!