-
Linux使用vim进行多文件查找和替换的方法
- 时间:2024-11-22 19:54:20
大家好,今天Win10系统之家小编给大家分享「Linux使用vim进行多文件查找和替换的方法」的知识,如果能碰巧解决你现在面临的问题,记得收藏本站或分享给你的好友们哟~,现在开始吧!
vim是Linux系统下常用的文本编辑,通过使用多种shell命令能够实现多文件的查找和替换,那么具体会使用到那些命令呢?下面小编就给大家介绍下Linux系统vim多文件查找和替换的方法。
在linux平台上,有很多优秀的shell命令组合来做多文件查找/替换,比如这些命令:find,sed,grep,awk,perl。但其他平台比如windows上就没那么方便了,这时候vim内置的多文件查找命令就有用武之地了,虽然比起外部命令来稍微慢了一点。
vim 多文件查找
这个vim内置命令就是vimgrep,有两种基本的使用方式:
:vim[grep][!] /{pattern}/[g][j] {file} 。。。
:vim[grep][!] {pattern} {file} 。。。
file部分支持通配符,*代表当前目录,**代表当前目录及其子目录(递归),比如*/*.c代表当前目录下的c源程序文件,**/*.c代表当前目录及其递归子目录下的所有源程序文件。file部分可以指定多次。
以下命令查看匹配结果:
:cn[ext] 下一个结果
:cp[revious] 上一个结果
:cw[indow] quickfix窗口,结果文件列表
更详细的用法参见:help vimgrep 和下面的refs。
vim 多文件替换
实际上只要如下两个命令即可(假设要将当前目录下所有扩展名为.txt/.cpp的文件中的hate替换成love):
:args *.txt *.cpp :argdo %s/hate/love/gc | update
:args *.txt *.cpp
:argdo %s/hate/love/gc | update
完成,解释如下:
:args *.txt *.cpp
:args *.txt *.cpp
这样写会扫描当前目录下的.txt 和 .cpp文件,并加入到参数列表。但是这样写只会稻苗当前目录,如果想要递归扫描所有下级目录的话,用
:args **/*.txt
:args **/*.txt
如果只想扫描下一级目录(即不扫描当前目录)的话,用
:args */*.txt
:args */*.txt
而
:argdo %s/hate/love/gc | update
:argdo %s/hate/love/gc | update
是将参数列表中的所有文件的hate提换成love,并写入硬盘(如果没有|update,就不会写入,但相应的替换也会被中断)。
最后强调一点,使用替换命令的时候,一定记得备份,因为替换是直接写入硬盘。
上面就是Linux系统vim多文件查找和替换的方法介绍了,通过find,sed等命令能够实现多文件的相关处理,你也可使用vim内置的多文件查找命令。
以上就是关于「Linux使用vim进行多文件查找和替换的方法」的全部内容,本文讲解到这里啦,希望对大家有所帮助。如果你还想了解更多这方面的信息,记得收藏关注本站~
『*文章来♂自Win10系统之家,转载请联系!』
相关文章
-
vim是Linux系统下常用的文本编辑,通过使用多种shell命令能够实现多文件的查找和替换,那么具体会使用到那些命令呢?下面小编就给大家介绍下Linux系统vim多文件查找和替换的方法。
在linux平台上,有很多优秀的shell命令组合来做多文件查找/替换,比如这些命令:find,sed,grep,awk,perl。但其他平台比如windows上就没那么方便了,这时候... -
UTF-8是Linux系统下的一种可变长度的字符万国码,使用UTF-8码就可以支持多种语言。但是某些文件并不是UTF-8编码的,这个时候我们可以用命令来查找替换非UTF-8码,下面就来介绍一下Linux系统查找替换非UTF-8编码文件的方法。
开始之前,请先安装enca这个软件包。enca是Linux等系统下用来查看文件编码和转换文件编码的工具。
下面一行Li... -
ISO是镜像文件,通常都可以使用相应的软件来挂载ISO,那么Linux系统中如何挂载ISO文件呢?除了使用软件挂载IOS外,还可使用mount命令挂载IOS文件,一起来学习下吧。
在Windows中,我们常常使用DaemonTools和VirtualCloneDrive等虚拟光驱软件挂载光盘镜像,下面我们一起来学习在Linux中如何挂载ISO文件。
在Linu... -
如果你需要比较系统文件的内容,那么你就会是使用到diff命令,可找出文件之间相同的部分,下面小编就给大家详细介绍下Linuxdiff命令的用法。
diff命令是linux上非常重要的工具,用于比较文件的内容,特别是比较两个版本不同的文件以找到改动的地方。diff在命令行中打印每一个行的改动。最新版本的diff还支持二进制文件。diff程序的输出被称为补丁(patch),因...