【问题标题】:How can I replace a word all the files within a folder in Vim?如何替换 Vim 文件夹中所有文件的单词?
【发布时间】:2010-04-17 07:19:14
【问题描述】:

我知道通过键入以下内容: :%s/iwanthis/replacedbythis/g 将更改文件的所有匹配词。如何对文件夹中的所有文件执行相同操作?

(实际上替换了很多这样的词:padding-bottom:5px;)

【问题讨论】:

    标签: vim


    【解决方案1】:

    打开 Vim 并将所有文件加载到缓冲区中,并使用 bufdo 一次替换所有缓冲区:

    % vim *
    ... when vim has loaded:
    :bufdo %s/iwanthis/replacedbythis/g | w
    

    | w 会将每个文件写回磁盘。

    【讨论】:

      【解决方案2】:

      您可以尝试greplace.vim,它可以为您提供一个缓冲区,包括跨多个文件与给定正则表达式匹配的所有行,然后您可以修改缓冲区中的内容,然后调用另一个 greplace 命令将所有更改更新为所有这些文件。

      【讨论】:

        【解决方案3】:

        希望这对没有 vim 的人有所帮助

        find /your_path/to/folder -type f -exec sed -i 's/text_to_be_replaced/new_text/g' {} \;

        此代码替换指定路径 (/your_path/to/folder) 中所有出现的文本。认为它可能对某人有帮助。

        【讨论】:

          猜你喜欢
          • 2021-02-13
          • 2018-08-18
          • 1970-01-01
          • 2018-06-23
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-07-18
          • 1970-01-01
          相关资源
          最近更新 更多