vim有强大的字符串查找功能。

我们通常在vim下要查找字符串的时候, 都是输入 / 或者 ?  加 需要查找的字符串来进行搜索,比如想搜索 super 这个单词, 可以输入  /super  或者  ?super,  两者的区别是前者是从上往下搜索,后者是从下往上搜索。

那么如果我想搜索本行中某个单词,并且这个单词很长的时候, 手动输入该字符串是非常麻烦的, 当然可以使用模糊匹配(如* 或 ?)来做, 不过这样可能搜得到很多其他的,不完全匹配的字符串。

可以使用如下方式来实现快速查找:

1, 最快的方式是让光标停留在想要查找的单词的任意一个字母上面, 然后输入Shift + *  ,即可快速选中该单词,并且可以通过 n  或  N 进行上一个或下一个的匹配。

2, 让光标停留在单词的第一个字母上, 然后输入yw拷贝该单词, 然后输入 / (Ctrl + R) 0 (即 /”0),回车, 就查找到了第一个匹配的单词, 并且可以通过 n  或  N 进行上一个或下一个的匹配。

解释一下:

Ctrl + r 是指使用寄存器 , 你会发现先输入/ , 然后输入 Ctrl + r , 会立刻变为 “ , 即寄存器的前缀, 然后 ”0 就可以理解了吧? 合起来就是 /“0, 就是查找刚才复制的那个单词, 不懂的请查看上一个帖子:

http://blog.csdn.net/ballack_linux/article/details/53078836

3, 还有一种方式, 和第二种方式差不多,不过是将单词拷贝到系统剪贴板, 然后再从系统剪贴板拿出来。 即选中需要查找的单词, 然后输入 “+y, 然后输入/(Shfit + Ctrl + v), 就查找到了第一个匹配的单词, 并且可以通过 n  或  N 进行上一个或下一个的匹配。

以上, 最方便的还是第一种, 高效快捷, 值得推荐!!

升级版!!

首先安装ag搜索工具, 输入如下命令:

sudo  apt-get   install    silversearcher-ag

接着在~/.vimrc中添加以下内容:

" Set mapleader
let mapleader = ","

" for easy using sliver search
nmap <leader>f :norm yiw<CR>:Ag! -t -Q "<C-R>""

nmap <leader>r :norm yiw<CR>:Ag! -t "\b<C-R>"\b"

" Locate and return character "above" current cursor position.
function! LookUpwards()
    let column_num = virtcol('.')
    let target_pattern = '\%' . column_num . 'v.'
    let target_line_num = search(target_pattern . '*\S', 'bnW')

if !target_line_num
        return ""
    else
        return matchstr(getline(target_line_num), target_pattern)
    endif
endfunction

imap <silent> <C-Y> <C-R><C-R>=LookUpwards()<CR>

然后任意打开一个文件, 比如下图中的dhd_linux.c文件:

将光标放在函数dhd_module_init上,通过快捷键“  + F ”(因为上面设置了mapleader是字符‘,’),即可在界面下方看到本路径下所有包含dhd_module_init的声明和调用:

此时光标是在下方列出的方框内, 选择任意一行, 按Enter或  字母 “o” 即可跳转, 非常方便!!

通过快捷键“  + R ” 可以使用正则表达式搜索\b<C-R>"\b 字符串。

vim之快速查找功能相关推荐

  1. vim的字符串查找功能

    vim的字符串查找功能 全字匹配: 指令:/m 或 ?m (m为要查找的字符串,前者是从上往下搜索,后者是从下往上搜索) 模糊查找: 指令:/m* (可能搜得到很多其他的,不完全匹配的字符串) vim ...

  2. Linux操作系统vim快捷键快速查找

    Linux操作系统vim快捷键快速查找

  3. vim 快速查找功能

    转载自:https://blog.csdn.net/ballack_linux/article/details/53187283 vim有强大的字符串查找功能. 我们通常在vim下要查找字符串的时候, ...

  4. 15 | 二分查找(上):如何用最省内存的方式实现快速查找功能?

    思考题:假设有 1000 万个整数数据,每个数据占 8 个字节,如何设计数据结构和算法,快速判断某个整数是否出现在这 1000 万数据中?希望不要占用太多的内存空间,最多不要超过 100MB 二分思想 ...

  5. vim php 关键词高亮,vim的高亮查找操作

    使用了VIM这么久,却一直无法牢记一些基本的操作指令.今天查找一个关键字时,想不起来怎么查找"下一个",于是google之并解决,顺便把有用的都贴过来罢. 查找指令: /xxx 往 ...

  6. VI/VIM几种快速搜索功能

    vim有强大的字符串查找功能. 我们通常在vim下要查找字符串的时候, 都是输入 / 或者 ?  加 需要查找的字符串来进行搜索,比如想搜索 super 这个单词, 可以输入  /super  或者 ...

  7. 如何使用计算机搜索文件,win7系统如何使用搜索筛选功能快速查找文件

    win7系统使用搜索筛选功能可以快速查找文件所需文件,能够大大提高工作效率, win7纯净版系统 电脑中储存着各种文件或图片等资料,这些数据的名称大小及时间归类不一,查找起来非常不容易.虽然windo ...

  8. 搜索python题目的软件_Python编程快速上手——正则表达式查找功能案例分析

    本文实例讲述了Python正则表达式查找功能.分享给大家供大家参考,具体如下: 题目如下: 编写一个程序,打开文件夹中所有的.txt文件,查找匹配用户提供的正则表达式的所有行.结果应该打印到屏幕上. ...

  9. Linux基础 -- vim编辑器3 -- 查找和替换

    2019独角兽企业重金招聘Python工程师标准>>> 1.字符的替换及撤销(Undo操作) 1.1.替换和撤销(Undo)命令 替换和Undo命令都是针对普通模式下的操作 命令 说 ...

最新文章

  1. params(C# 参考)
  2. openoffice 安装 linux环境
  3. 1.3编程基础之算术表达式与顺序执行 05 计算分数的浮点数值
  4. Pytest之fixture
  5. Oracle 无备份情况下的恢复--临时文件/在线重做日志/ORA-00205
  6. MySQL求n以内素数_C++ 实现求小于n的最大素数的实例
  7. python颜色校正
  8. 接口测试常用工具及测试方法
  9. 点击换图 秀米的svg_时隔五年再用秀米,我发现了这个超强玩法。
  10. 乱了夏末蓝了海,伤了初冬白了城。
  11. 【文献学习】《Reference-free detection of isolated SNPs》
  12. python尔雅答案_2020尔雅通识课Python》程序设计查题公众
  13. 三维空间刚体变换:欧拉角、旋转向量、四元数
  14. Ubuntu20.04 安装 NVIDIA 显卡驱动
  15. 内核相关资源 开源/文档/社区/信息资源 1 http://www.kernel.org Linux...
  16. 一个80年代大学生的悲壮职业人生
  17. Win10系统精简优化工具 NTLite v1.5.0 企业版
  18. 银行系统日终结算要多久_银行 核心系统的清算与结算 - 系统性能与软件架构 - 51Testing软件测试网 51Testing软件测试网-软件测试人的精神家园...
  19. 奇葩代码虐我千百遍,我却待它如初恋
  20. Java基础篇:什么是hashCode 以及 hashCode()与equals()的联系

热门文章

  1. HTML--图片的插入
  2. unl导入导出数据库
  3. 破解携程中文验证码爬取机票价格数据
  4. python爬虫获取携程旅游景点评分和评论
  5. 安卓设备互相投屏_安卓投屏电脑版-安卓投屏下载v7.9.1-IE浏览器中文网站
  6. 更新后的微信新功能,你知道吗?
  7. 免费把你的 GoogleDrive 和 OneDrive 变成 CDN
  8. 网易传媒数据指标体系搭建实战!
  9. 查看caj文件与chm文件
  10. PC端浏览器调用QQ