首页 > 解决方案 > 从多个文件grep,在vim中交互修改匹配行的内容,保存后,更改应保存到相应文件

问题描述

每隔一段时间。我需要对项目中的多个文件进行大量更改。通常我会做这样的事情:

寻找 。-type f -print0 | xargs -0 sed -i "s/patten/replace/g"

但上述过程并不直观。如果文件中有一行我不想更改怎么办?为时已晚,因为在实际完成之前我无法看到最终的变化。

我想要的是我可以先在项目中grep。所有匹配的行都列在缓冲区中,完成修改后,我可以在文本编辑器中编辑这些行。当我保存文件时,更改应保存到相应的文件中。

通过此过程,我可以在进行更改之前看到最终结果。而且我不需要用一个替换字符串替换所有匹配字符串的出现。相反,我可以将其中一些更改为一个值,将其他一些更改为另一个值。

我不确定是否有任何 unix 实用程序可以实现这一点?

标签: vimsedgrep

解决方案


推荐阅读