在vim中提供2中方法来在其他文件或者文件夹中搜索字符串,第一种是vimgrep还有一种是grep。

如果只是在当前打开的文件中查找字符串的,使用

:?

后面加上想要搜索的字符串就可以。

这里要解决的是在别的文件中,也许这个文件还没有打开,或者需要在多个文件中操作,比如在当前文件夹下面所有.c的文件中查找,或者在莫个文件夹中查找。这些情况下,我们可以使用 vimgrep或者grep。这里只介绍vimgrep。

这是个vim的内部命令,因为可以在vim内部直接使用,

:vimgrep

这个命令还可简写为vim

:vim

用例1  在当前文件夹下面所有.c文件中查找字符串 classA

:vimgrep /classA/gj ./*.c

解释一下:

g: 如果一行中出现多处,只显示一次,没有g就会出现多次

j: 只是列出所有匹配的行,没有j那么就会跳去第一个匹配的行

用例2 在当前文件夹及其子文件夹下面查找字符串classA

:vimgrep /classA/gj **/*.*

搜索完毕后可以使用copen或者cw命令来打开搜索的结果。使用jk来移动选中行,回车可以跳到对应的文件。

copen后面可以指定窗口的高度。

注意当去到搜到到的文件后,当前的窗口会被该文件覆盖,那么怎么回到原来的文件,

ctrl+^

更多的信息可以使用

:help vimgrep

来查看。

VIM在文件夹中查找的更多相关文章

  1. sublime text 3 的在文件夹中查找的快捷键没有反应 的bug冲突

    11:19 2015/11/18 sublime text 3 的在文件夹中查找的快捷键没有反应 的bug冲突 在文件夹查找的快捷键:ctrl shift f没有反应,后来发现是百度输入法与它有问题, ...

  2. linux下在多个文件夹中查找指定字符串的命令

    例如,想要在当前文件夹下的多个.c或者.txt文件中查找“shutdown”字符串, 可以使用“grep shutdown ./*.c”或“grep shutdown ./*.txt”即可 使用fin ...

  3. 在文件夹中 的指定类型文件中 查找字符串(CodeBlocks+GCC编译,控制台程序,仅能在Windows上运行)

    说明: 程序使用 io.h 中的 _findfirst 和 _findnext 函数遍历文件夹,故而程序只能在 Windows 下使用. 程序遍历当前文件夹,对其中的文件夹执行递归遍历.同时检查遍历到 ...

  4. sublime text3怎么批量查找替换文件夹中的字符

    在编写代码的时候,往往有些代码是重复的,但是如果要改一处代码,其他的地方也要改.那么怎么批量修改呢?下面小编就以sublime text3为例来讲解一下sublime text3怎么批量查找替换文件夹 ...

  5. 结合find和cp批量查找文件并复制到指定文件夹中

      find . -name JA1_*001_027 | xargs -i cp {} F:/ 说明: . 表示当前文件夹及其子文件夹中查找 -name 指定待查找文件,可以使用通配符 F:/ 表示 ...

  6. Python-对比参考目录查找多个文件夹中不同的文件

    改完文件名称后,Dr.he 发现分别保存5个状态的jpg 文件的文件夹出现缺少文件的情况.为了让他少熬夜查找缺失文件,结合网友分享的脚本,写了查找以下代码,满足他的需求,也以防自己忘记.以下代码能解决 ...

  7. 用字符流实现每个文件夹中创建包含所有文件信息的readme.txt

    package com.readme; import java.io.BufferedWriter; import java.io.File; import java.io.FileWriter; i ...

  8. C#遍历指定文件夹中的所有文件和子文件夹

    参考:http://www.cnblogs.com/skylaugh/archive/2012/09/23/2698850.html DirectoryInfo TheFolder=new Direc ...

  9. C++读取文件夹中所有的文件或者是特定后缀的文件

    由于经常有读取一个文件夹中的很多随机编号的文件,很多时候需要读取某些特定格式的所有文件. 下面的代码可以读取指定文件家中的所有文件和文件夹中格式为jpg的文件 参考: http://www.2cto. ...

随机推荐

  1. Storm csdn

    blog.csdn.net/lonelytrooperblog.csdn.net/leytton http://my.oschina.net/apdplat/blog/308396

  2. iOS6和iOS7代码的适配(4)——tableView

    iOS7上不少控件的样子有了变化(毕竟要扁平化嘛),不过感觉变化最大的肯定非tableView莫属.因为这个控件的高度可定制性,原先是使用及其广泛的,这样的一个改变自然也影响颇大. 1.accesso ...

  3. icon

    <link rel="icon" href="favicon.ico" type="image/x-icon"> <lin ...

  4. html学习笔记一

    学习了一天,总结巩固下自己收获. html是超文本标记语言,而不是编程语言. 1:html结构 包含html标签,head标签,title标签,body标签. <html> <hea ...

  5. TIMESTEN安装配置指南-中文版

    TimesTen内存数据库 第一章 Cache Connect to Oracle概念 TimesTen数据交换技术提供在Oracle数据库和TimesTen数据管理器之间进行连接和双向数据传送.数据 ...

  6. Qt程序设计——txt文本中获取字符串的问题

    QT对txt文本进行读写一般是采用QFile和QTextStream结合使用,在此不细说,主要说一下读取txt文本的注意事项.因为txt文本中有中文也有英文还有数字,要准确获得需要的字串可就要多一个心 ...

  7. Java 处理json经常使用代码

    本project代码已上传至资源,如有须要,请自行下载. package com.michael; import static org.junit.Assert.assertEquals; impor ...

  8. SQL Server索引进阶:第十五级,索引的最佳实践

    在本文中我们将推荐14条贯穿本系列的规则,这些规则帮助你为数据库创建最好的索引结构. 格式来自于<Framework Design Guidelines>.每条推荐用四个词来总结:Do做, ...

  9. Java环境的配置

    JAVA环境: 1.打开我的电脑--属性--高级--环境变量 2.将相应的JDK环境下载到本机,将路径保存到无中文路径中,并将路径复制下来. 3.在环境变量--系统变量,中新建 变量名:JAVA_HO ...

  10. spring mvc 简单搭建

    文中用的框架版本:spring 3,hibernate 3,没有的,自己上网下. web.xml配置: </load-on-startup>     </servlet>    ...