【问题标题】:vim: replace in files over ftpvim:通过 ftp 替换文件
【发布时间】:2013-06-30 08:53:53
【问题描述】:

我想使用 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 over ftp 也可以。

【问题讨论】:

  • 所有文件都在同一个文件夹中,还是出现在子目录中?
  • 在同一个文件夹中。您的以下解决方案有效,谢谢!

标签: linux vim ftp args


【解决方案1】:

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

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

注意斜线很重要。

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

mr
*.php<CR>

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

me

在 netrw 目录列表中按 &lt;F1&gt; 以获取有关可用命令的帮助。

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 2012-04-26
      • 2013-03-24
      • 1970-01-01
      • 2014-04-30
      • 1970-01-01
      • 2012-08-18
      • 2020-05-25
      • 1970-01-01
      相关资源
      最近更新 更多