gpt4 book ai didi

vim - 如何在 Vim 中高效地执行跨多个文件的替换命令?

转载 作者:行者123 更新时间:2023-12-02 22:22:19 27 4
gpt4 key购买 nike

我想在多个文件中执行以下类型的大量替换:

"\includegraphics{all.png}""\includegraphics[width=\linewidth]{all.png}"

我想在没有 Sed 的情况下只使用 Vim 来做到这一点。但是,当我这样做时,我总是不小心用空格之类的东西替换缓冲区,从而浪费了很多键。我怎样才能快速完成?

key 数量最少者获胜!

从 Vim 内部开始:获取缓冲区的匹配项

:grep -r "includegraphics" Sections/*

最佳答案

一种在一组文件中执行某些操作的灵活方式,使用Vim 是收集他们名字的列表到参数列表中(见:help arglist), 然后遍历它执行所需的命令。

为了执行第一步,使用命令 :args:argadd:参数删除。例如,将参数列表设置为名称当前目录中具有 .tex 扩展名的所有文件和它的子目录,运行:

:args ./**/*.tex

要执行第二步,请使用 :argdo 命令:

:argdo %s/\\includegraphics\zs\ze{all.png}/[width=\\linewidth]/g

关于vim - 如何在 Vim 中高效地执行跨多个文件的替换命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13503347/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com