linux - vim:通过 ftp 替换文件

标签 linux vim ftp args

我想使用 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,这也很好。

最佳答案

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

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

请注意尾部斜线很重要。

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

mr
*.php<CR>

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

me

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

关于linux - vim:通过 ftp 替换文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17388742/

相关文章:

不遍历挂载文件系统的 Linux du 命令

Linux查找两个文件夹差异的命令

vim - js 语法的“快速修复”不适用于 'eslint' 中的 'syntastic'

vim - 如何删除 Vim 中的大括号?

vim - ZSH:如何在命令行中运行 Vim 风格的替代命令?

java - 您可以使用 RandomAccessFile 访问远程 FTP 服务器上的文件吗?

php - 如何确定文件是否仍在通过 ftp 传输

java - 无法在从 Java 启动的子进程中为 SIGQUIT 设置信号处理程序

linux - 重命名一个目录,确保它不存在

ruby - 在 OSX 上的 Ruby 中同时上传文件夹中的文件