批量查找关键字且删除对应行
文章需要在了解终端、vim基本使用的前提下观看。
在一个文件里批量操作
在项目开发过程中,我们可能会需要批量删除带有关键词的对应行,如果是在同一个文件里面的话执行此操作的话,比如文件中文本如下:
begin
MrYu4
sfafaMrYu4
end
我们用vim在normal模式下:
:g/MrYu4/d
执行后的结果为:
begin
end
文件夹及其子文件夹所有文件进行批量操作
日常开发过程中,我们的项目常常以多层级的文件夹以及其中的文件组成,IDE中常有“全局搜索”、“全局替换”的傻瓜式的功能,但是这里提出的问题是:全局搜索关键字,并且删掉包含对应关键词的行。
首先打开终端,跳转到项目最根部的路径:
cd path
然后用vim打开文件夹及其子文件夹的所有文件:
vim */**
如果不确认自己打开了什么文件,可以在打开之后用
args
来进行确认::args
不过我们经常不需要全选所有的文件,而是特定类型,那么打开文件的命令需要微调,比如这次我们要打开的是所有.m
文件的话:
vim */**.m
接下来要做的和上一节相似,只是收尾两边需要新增一些东西:
:argdo g/MrYu4/d | update
执行的过程中会弹出日志,如果文件过多的话,中途还会频繁停下来出现“请按Enter或其他命令继续”的提示,如果想直接忽略的话,在执行此命令之前可以在vim内(或者在vimrc文件中)执行:
:set nomore
最后结束vim:
:wa
:qa