Vim多文件搜索特定内容

2024-09-06 14:32
文章标签 搜索 vim 内容 特定

本文主要是介绍Vim多文件搜索特定内容,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

reference: http://blog.chinaunix.NET/uid-14770335-id-3025369.html

用VIM开发或浏览项目时,经常会用到多文件的模式搜索。一些场合,可以用cscope find t可以解决了。可是遇到复杂的模式,该命令就捉襟见肘了。这时候就得用vim自带的匹配利器---vimgrep。

vimgrep有两种使用的方式:
1)将匹配模式放到//之间:这样情况下,使用vim的正则模式来进行匹配
命令格式: :vim[grep][!] /{pattern}/[g][j] {file}
例子:
       :vim /function demo/ *.c         在当前目录的.c文件中,搜索function demo
        :vim /function demo/ **/*.c    在任意目录的.c文件中,搜索function demo
        :vim /function demo/ **/*.{h,c}  在任意目录的.c和.h文件中,搜索function demo
:vim /\cfunction demo/ **/*.c     使用\c,不区分大小写
        :vim /\Cfunction demo/ **/*.c    使用\C,区分大小写
       :vim /function demo/j *.c        只更新quickfix,不跳转到第一个搜索结果
       :vim /function demo/g *.c        一行中若有多个匹配,每个都要单独显示一行
2)直接加匹配模式:这种情况下只能搜索ID,举个例子,就不详细说了
:vimgrep Error *.c

vimgrep可以跟split或vsplit结合使用,将结果显示到单独的窗口中:
vsp | vimgrep demo *.c
lvimgrep跟vimgrep功能上是一样的,但该命令更新提本地的窗口列表,而不是quickfix列表

若结果更新到quickfix:
用cw查看,cn下一条,cp上一条,ccl关闭结果,colder上次搜索结果,cnewer下次搜索结果
若结果更新到本地的窗口列表:
用lopen查看,lcl关闭,lnext下一条,lpre上一条,lolder上次搜索结果,lnewer下次搜索结果

这篇关于Vim多文件搜索特定内容的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1142274

相关文章

Java使用正则提取字符串中的内容的详细步骤

《Java使用正则提取字符串中的内容的详细步骤》:本文主要介绍Java中使用正则表达式提取字符串内容的方法,通过Pattern和Matcher类实现,涵盖编译正则、查找匹配、分组捕获、数字与邮箱提... 目录1. 基础流程2. 关键方法说明3. 常见场景示例场景1:提取所有数字场景2:提取邮箱地址4. 高级

C#高效实现Word文档内容查找与替换的6种方法

《C#高效实现Word文档内容查找与替换的6种方法》在日常文档处理工作中,尤其是面对大型Word文档时,手动查找、替换文本往往既耗时又容易出错,本文整理了C#查找与替换Word内容的6种方法,大家可以... 目录环境准备方法一:查找文本并替换为新文本方法二:使用正则表达式查找并替换文本方法三:将文本替换为图

Linux从文件中提取特定内容的实用技巧分享

《Linux从文件中提取特定内容的实用技巧分享》在日常数据处理和配置文件管理中,我们经常需要从大型文件中提取特定内容,本文介绍的提取特定行技术正是这些高级操作的基础,以提取含有1的简单需求为例,我们可... 目录引言1、方法一:使用 grep 命令1.1 grep 命令基础1.2 命令详解1.3 高级用法2

MySQL 强制使用特定索引的操作

《MySQL强制使用特定索引的操作》MySQL可通过FORCEINDEX、USEINDEX等语法强制查询使用特定索引,但优化器可能不采纳,需结合EXPLAIN分析执行计划,避免性能下降,注意版本差异... 目录1. 使用FORCE INDEX语法2. 使用USE INDEX语法3. 使用IGNORE IND

linux批量替换文件内容的实现方式

《linux批量替换文件内容的实现方式》本文总结了Linux中批量替换文件内容的几种方法,包括使用sed替换文件夹内所有文件、单个文件内容及逐行字符串,强调使用反引号和绝对路径,并分享个人经验供参考... 目录一、linux批量替换文件内容 二、替换文件内所有匹配的字符串 三、替换每一行中全部str1为st

从入门到精通详解LangChain加载HTML内容的全攻略

《从入门到精通详解LangChain加载HTML内容的全攻略》这篇文章主要为大家详细介绍了如何用LangChain优雅地处理HTML内容,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录引言:当大语言模型遇见html一、HTML加载器为什么需要专门的HTML加载器核心加载器对比表二

MySQL查询JSON数组字段包含特定字符串的方法

《MySQL查询JSON数组字段包含特定字符串的方法》在MySQL数据库中,当某个字段存储的是JSON数组,需要查询数组中包含特定字符串的记录时传统的LIKE语句无法直接使用,下面小编就为大家介绍两种... 目录问题背景解决方案对比1. 精确匹配方案(推荐)2. 模糊匹配方案参数化查询示例使用场景建议性能优

Java实现删除文件中的指定内容

《Java实现删除文件中的指定内容》在日常开发中,经常需要对文本文件进行批量处理,其中,删除文件中指定内容是最常见的需求之一,下面我们就来看看如何使用java实现删除文件中的指定内容吧... 目录1. 项目背景详细介绍2. 项目需求详细介绍2.1 功能需求2.2 非功能需求3. 相关技术详细介绍3.1 Ja

HTML5 搜索框Search Box详解

《HTML5搜索框SearchBox详解》HTML5的搜索框是一个强大的工具,能够有效提升用户体验,通过结合自动补全功能和适当的样式,可以创建出既美观又实用的搜索界面,这篇文章给大家介绍HTML5... html5 搜索框(Search Box)详解搜索框是一个用于输入查询内容的控件,通常用于网站或应用程

SpringBoot项目配置logback-spring.xml屏蔽特定路径的日志

《SpringBoot项目配置logback-spring.xml屏蔽特定路径的日志》在SpringBoot项目中,使用logback-spring.xml配置屏蔽特定路径的日志有两种常用方式,文中的... 目录方案一:基础配置(直接关闭目标路径日志)方案二:结合 Spring Profile 按环境屏蔽关