很多人使用了vim之后,热衷于安装各种各样的插件,折腾的不亦乐乎。但是殊不知vim 本身自带的很多功能也非常的好用,熟练使用他们会使得我们在编程以及解决问题过程中提高不少效率。下面我就介绍第一个好用的技巧。全局搜索vim 命令。

先举个栗子:比如我想在当前目录搜索字符串 “test1”。你可以使用grep -R test1 *  这样虽然可以搜索出结果,但是你只能看到这个字符串都在哪个文件哪里包含,不能快速跳转到这个字符串包含的文件中,但是vim 就有这样的功能。

在vim的命令模式输入如下命令:vim /test1/ ** | copen  如下就递归找出了在当前目录下所有包含test1 字符串的文件,并且点击想查看的那行就直接能跳转到这个文件包含test1的位置中去。如下我想在u-boot 源码中查找所有包含main 字符串的文件

:vim /main/ ** | copen

如上,所有包含main 字符串的文件全部列出,并且点击想要想看的一行就直接跳转到这个文件相应行中,非常方便。上个例子是当前目录递归搜索所有。这个命令还有很多变种用法:以下都是搜索main,  如果搜索其他字符串请替换.

1. 只搜索当前文件 vim /main/ % | copen

2. 只搜索当前目录 vim /main/ * | copen

3.  搜索上级目录下,并递归 vim /main/ ../** | copen

4. 可以在多个路径中搜索  vim /main path1/** path2/** | copen

如上的用法可以搭配ctags来查看source code,非常实用。其实上述的命令就是vimgrep,简写vim。使用 | 连接copen 命令把quickfix打开,vimgrep的结果就记录在quickfix中。可以查看更过vimgrep的用法:h vimgrep

vim使用:全局搜索并跳转相关推荐

  1. vim全局搜索并跳转

    vimgrep,简写vim 1.只搜索当前文件 :vim /pattern/% | copen 2.只搜索当前目录 :vim /pattern/* | copen 3.搜索上级目录下,并递归 :vim ...

  2. 6. VIM 系列 - 全局搜索(ctrlsf.vim)

    目录 全局搜索利器 ag.vim 更强大的全局搜索利器 ctrlsf.vim 全局搜索利器 ag.vim 终端上安装ag: sudo apt install silversearcher-ag vim ...

  3. (转载)vim括号匹配等跳转技巧

    转载于:https://blog.csdn.net/u013408061/article/details/77523318 vim 括号匹配跳转操作: % 跳转到相配对的括号 gD 跳转到局部变量的定 ...

  4. Linux—vim/vi 翻页跳转命令快捷键

    关注微信公众号:CodingTechWork,一起学习进步. 以下组合若没有特殊说明,基本都是键位组合. vim翻页 vim翻半页 ctr-d:向后翻半页 ctr-u:向前翻半页 vim整整页 ctr ...

  5. VIM之快速搜索跳转

    1. 在命令行中使用 `/` 或 `?` 向下或向上搜索指定的字符,字符可手动输入 或 粘贴指定寄存器里的字符输入.通过 `n` 或 `N` 继续原方向或反向跳转到下一个匹配到的位置. > 注意 ...

  6. 用python实现一个按需生成用于vim跳转的tags文件的小程序

    初学python,找个有用的来练手.选定了一个我早就想做的让vim按需生成tags跳转文件的小程序. vim的tags用于跳转的好处自是不用多说,但是如何生成tags确实困扰我的一大问题,用VS的都知 ...

  7. vim打开文件跳转到上次编辑的位置

    au BufReadPost * if line("'\"") > 0|if line("'\"") <= line(" ...

  8. vim跳转到指定行或列

    显示行号 命令模式输入 :set nu 或 :set number 如果要设置每个打开的文件都默认显示行号,则使用vi编辑~/.vimrc文件或者/etc/vimrc文件,在该文件中加入一行set n ...

  9. 爱了!Intellij IDEA 自带的 Vim 插件真心不错

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 来源:hsujee.com/2016/01/13/ 在 IDEA ...

最新文章

  1. 【Vegas原创】解决System.Web.Extensions版本冲突方法
  2. 守护进程和inetd守护进程
  3. python字典的特点是什么_Python中dict的特点
  4. BZOJ2154: Crash的数字表格 BZOJ2693: jzptab
  5. matlab时频分析工具箱安装_科研小班 | 加州大学伯克利分校 | 物理、电子工程:MATLAB信号和数据处理课题...
  6. js实现导航菜单栏随着屏幕的滚动进行滚动的效果
  7. UVA10803 Thunder Mountain【Floyd算法】
  8. ​七周二次课(5月7日)监控io性能、free命令、ps命令、查看网络状态、linux下抓包...
  9. Jmeter自动化测试-----接口测试基本使用实例
  10. WDS+MDT全自动部署系统、自动加域、自动计算机取名(SN序列号或MAC地址)
  11. 《keras中文文档》资料分享
  12. Java对象转换Map(工具类)
  13. 拼多多API接口调用方法(内附上多个可用API)
  14. 体系结构学习7-乱序执行
  15. 大括号内打两行公式,还附带标号或条件
  16. python匠心之作——集合
  17. Unity 3D 博客汇总
  18. python:正则表达式_re模块
  19. CSS实现三角形原理及过程
  20. Virgo Tool安装及Virgo服务器配置

热门文章

  1. 1、 什么是time_wait?如何产生的?
  2. abaqus应力值导出并进行后处理(同一节点多个应力值如何处理?)
  3. Linux权限委派(生产环境必备)
  4. shell中初始化数组并遍历数组
  5. 如何进行旅游app开发定制
  6. 模电学习第一天--PN结梳理
  7. Vue directives 自定义局部指令中调用 method 中的方法
  8. 一个遮罩层怎么遮罩两个图层_遮罩效果全解(13种方法)
  9. 计算机系统结构知识总结,计算机基础知识总结
  10. php 查看文件锁定状态_Photoshop脚本 查看当前图层的锁定状态