2

我想使用 vim 搜索和替换文件夹中所有 php 文件中的一些文本。一个困难是这些文件都在一个 ftp 站点上。

据我所知,这可以做到(没有ftp)如下:

首先在缓冲区中打开文件:

:args *.php

然后对缓冲区中的所有文件应用搜索/替换

:argdo %s/<pattern1>/<pattern2>/ge | update

但是,我不确定如何使用 vim ftp 插件加载目录中的所有文件。我试过了:

:args ftp://user@website.com/dir/*.php

但这只是在指定的 ftp 位置“打开”一个名为 *.php 的新文件。有任何想法吗?

如果有人知道替代方案,例如通过在 Linux 中使用 sed 而不是 ftp,这也很好。

4

2 回答 2

1

使用 netrw 打开包含文件的目录:

:e ftp://user@website.com/dir/<CR>

请注意尾部斜杠很重要。

现在使用 glob 选择您感兴趣的所有文件:

mr
*.php<CR>

这将标记与该模式匹配的所有文件。现在您可以将它们添加到 arglist 并使用argdo

me

在 netrw 目录列表中按<F1>以获取有关可用命令的帮助。

于 2013-06-30T14:55:43.503 回答
0

Netrw 与其他编辑器的 FTP 插件一样,将远程文件下载到本地计算机上的临时位置进行编辑,并在保存时将其上传回来。

如果您对 netrw 不满意,您可以简单地使用 FTP 客户端将该目录下载到您的计算机上,然后在g/re/p本地执行并在完成后重新上传。

于 2013-07-01T20:29:34.617 回答