维姆 是最好的、高度可配置的文本编辑器之一,它具有许多您在其他文本编辑器中找不到的独特功能。 今天,我们将讨论一个有用的功能—— 从本地系统编辑远程系统的文件. 含义 – 我们可以编辑存储在远程 Linux 系统中的文件,而无需通过 SSH 或任何其他方法实际登录。 在我知道这个技巧之前,我通常 SSH 进入远程系统,然后编辑文件。 但是,还有一种方法可以从本地系统使用 Vim 编辑远程文件。 从 Vim 7.x 版本开始, netrw.vim 插件 作为标准插件安装。 此插件允许您通过 ftp、rcp、scp 或 http 编辑文件。
什么是 Netrw 插件?
对于那些想知道的人来说, 网络 (面向网络的读、写和浏览)插件支持本地和远程编辑,跨网络读写文件。 它还支持浏览本地和远程目录。 有关更多详细信息,请键入 :help netrw 在你的 vim 会话中。 让我们继续看看如何使用 Vim 从我们的本地系统编辑存储在远程 Linux 系统中的文件。
在 Linux 上使用 Vim 编辑远程文件
使用 Vim 编辑远程文件非常简单:
vim scp://[email protected]//path_to_file
例子:
我有一个名为的文本文件 信息.txt 在我的远程系统中使用以下行。
Welcome to OSTechNix
现在我要编辑该文件,并对其进行一些更改,然后保存并 close 文件。 全部来自我的本地系统!
为此,我只需运行以下命令:
$ vim scp://[email protected]2.168.225.22/info.txt
这是上述任务的可视化演示:
在这里,您应该注意以下三件事。
1. [email protected] (例如 [email protected]) – 这里 sk 是远程系统的用户名。 192.168.225.22 是远程系统的 IP 地址。
2. 单斜杠 (/) – 如果要编辑存储在 $家 远程系统的目录,您必须使用尾部斜杠将远程系统的 IP 地址或主机名与文件路径分开。 在上述情况下,我将 info.txt 文件存储在 $HOME 目录中,因此我使用了单斜杠。
3. //(双斜线) – 要指定文件的完整路径,必须使用双斜杠。 一个斜杠 (/) 用于将远程系统的 IP 地址或主机名与实际文件路径分开。 另一个斜线用于提及远程文件的绝对(完整)路径。 为了 example,假设您正在编辑一个名为 信息.txt 位于 /home/sk/文件/ 远程系统的目录。 在这种情况下,命令将是:
$ vim scp://[email protected]//home/sk/Documents/info.txt
注意远程系统的 IP 地址和文件路径之间的双斜杠。 只有在提到远程文件的绝对路径时才需要双斜杠。
从本地系统验证远程文件的内容:
$ ssh [email protected] cat info.txt [email protected]'s password: Welcome to OSTechNix blog
看? 我在 info.txt 文件中添加了一个额外的单词“blog”。
有时候,你可能有 更改了默认 SSH 端口 出于安全目的。 在这种情况下,请提及 SSH 端口,如下所示。
$ vim scp://[email protected]:2200/info.txt
将 2200 替换为您的 SSH 端口号。
如果您没有 ssh/scp 访问权限,则可以使用其他协议,例如 example ftp,如下所示。
$ vim ftp://[email protected]/path/to/file
那么在后台发生了什么?
当您使用以下命令从本地系统编辑远程文件时;
$ vim scp://[email protected]/info.txt
你可能已经注意到 Vim 编辑器底部的以下输出:
:!scp -q '[email protected]:info.txt' '/tmp/vsoDT6K/0.txt' "/tmp/vsOLzGf/0.txt" 1L, 21C
含义 – scp 命令从远程系统复制请求的文件并保存在 /tmp 本地系统的目录,然后打开它进行编辑。 完成编辑后,使用 scp 命令将文件上传回远程系统。
在 Vim 会话中编辑远程文件
如果您已经在 Vim 会话中,则可以从本地系统编辑远程文件,如下所示。
通过运行以下命令从 Vim 中的新缓冲区中打开文件:
:e scp://[email protected]/info.txt
在文件中进行更改并点击 ESC键 键和类型 :wq 保存和 close 文件。
看看下面的视觉演示。
正如您在上面的输出中看到的那样;
- 我从本地系统打开 Vim 编辑器,
- 然后我在一个新缓冲区的 Vim 会话中打开名为 info.txt 的远程文件,
- 然后对文件做了一些修改,
- 最后,保存更改并关闭文件(ESC 和 :wq)。
您还可以通过运行以下命令在新选项卡中打开文件:
:tabe scp://[email protected]/info.txt
希望这可以帮助。 我将在未来发布更多 Vim 技巧。 继续光顾!
建议阅读:
- Vim 技巧——在 Linux 上使用 Vim 读写远程文件
- 通过 SSH 在远程 Linux 系统上执行命令
感谢您的光临!
帮助我们帮助您:
- 订阅我们的电子邮件通讯: 立即注册
- 支持 OSTechNix: 通过贝宝捐款
- 下载免费的电子书和视频: TradePub 上的 OSTechNix
- 联系我们: 红迪网 | Facebook | Twitter | 领英 | RSS订阅
祝你有美好的一天!!