vim - 从多个文件grep,在vim中交互修改匹配行的内容,保存后,更改应保存到相应文件
问题描述
每隔一段时间。我需要对项目中的多个文件进行大量更改。通常我会做这样的事情:
寻找 。-type f -print0 | xargs -0 sed -i "s/patten/replace/g"
但上述过程并不直观。如果文件中有一行我不想更改怎么办?为时已晚,因为在实际完成之前我无法看到最终的变化。
我想要的是我可以先在项目中grep。所有匹配的行都列在缓冲区中,完成修改后,我可以在文本编辑器中编辑这些行。当我保存文件时,更改应保存到相应的文件中。
通过此过程,我可以在进行更改之前看到最终结果。而且我不需要用一个替换字符串替换所有匹配字符串的出现。相反,我可以将其中一些更改为一个值,将其他一些更改为另一个值。
我不确定是否有任何 unix 实用程序可以实现这一点?
解决方案
推荐阅读
- apache-kafka - 你如何彻底清除 Apache Kafka?
- java - 具有 1 个元素的休眠 getitem 或 getlist 哪个更好?
- vue.js - vue 服务器端渲染和数据填充
- android - Android 如何设置 --unsafely-treat-insecure-origin-as-secure="http://example.com" 标志
- android - Strava Api 令牌 Android
- php - Simple_Dom 错误:file_get_contents():流不支持在 Laravel 中查找
- python-3.x - 'Error': 'JSON parse error - Expecting value: line 1 column 1 (char 0)' How do I fix this
- asp.net-core - Why is mandatory the "Route" attribute on methods of a custom-routed controller?
- java - Thread.join() 是否考虑杀死线程?在thread.join()之后运行另一个thread.start()可以吗?
- pycharm - 从项目资源管理器打开文件时,PyCharm 未将焦点移至编辑器