Vim 技巧——在 Linux 上使用 Vim 读写远程文件

前段时间,我们讨论了如何 使用 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"

在 Linux 的 Vim 会话中读取远程文件

有关更多详细信息,请在 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 系统上执行命令

感谢您的光临!

帮助我们帮助您:

祝你有美好的一天!!