vim查找快捷键_vim搜索关键字命令

vim查找快捷键_vim搜索关键字命令vim有强大的字符串查找功能。我们通常在vim下要查找字符串的时候,都是输入/或者?加需要查找的字符串来进行搜索,比如想搜索super这个单词,可以输入/super或者?super,两者的区别是前者是从上往下搜索,后者是从下往上搜索。那么如果我想搜索本行中某个单词,并且这个单词很长的时候,手动输入该字符串是非常麻烦的…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

      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文件:

vim查找快捷键_vim搜索关键字命令

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

vim查找快捷键_vim搜索关键字命令

 

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/190064.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 关于cpp中左值和右值的细枝末节

    一、基本概念  本文主要分析右值引用中的:移动语意(movesemantics)。  要想理解右值,首先得能够判断具体什么是右值,先来看一些关于右值的判定条件:  一、任何表达式不是左值就是右值,左值和右值只的是针对表达式定义的。      这个比较容易理解,inttemp=10,func(),doublea=0.0,x++,++x,*ptr,x+y这些都是…

    2022年4月7日
    142
  • Telerik的RadControls控件(二)

    Telerik的RadControls控件(二)继上篇我们学习了RadWindow控件的用法之后,本篇我们将学习在项目中更加方便开发人员的常用控件RadAjax控件.  RadAjax是面向ASP.NET应用程序无编码AJAX使能化的第一个框架。这个专利Click-and-Go™技术可以让你不需要对你应用程序做任何修改(摆放Callback面板,设置触发器等)。最棒的是,你根本不需要写一行的JavaScript或s

    2022年7月24日
    5
  • BigDecimal 校验格式

    BigDecimal 校验格式强烈推荐一个大神的人工智能的教程:http://www.captainbed.net/zhanghan【前言】最近收到一个需求,在管理后台对系统中的金额进行操作时,对操作的金额需要进行相关校验,如果不校验,在进行相关的计算时就可能会出问题。【BigDecimal校验格式】一、业务需求前端接收到金额传给后端时需要对金…

    2022年5月18日
    168
  • 屏蔽自动更新描述文件(屏蔽描述文件)

    是不是应该说终于,是的。关于iOS屏蔽系统升级的描述文件在几个月前失效的事情大家都清楚了,苹果先是让描述文件失效,然后重新分享的屏蔽升级描述文件也相继的失效,之后也没有新的文件出来。之后是各种的sao操作出来,曲线饶了远路才能把iPhone晚上充电连着WIFI会自动升级的问题解决。有些方法还不能够完全解决问题,进行了屏蔽之后可能会让AppStore不能够进行正常的软件更新。之前修改WIFI,屏…

    2022年4月11日
    60
  • wptx64能卸载吗_Win10自带应用卸载教程(本人亲测)

    wptx64能卸载吗_Win10自带应用卸载教程(本人亲测)使用win10有一段时间了,其中也用过诸如腾讯电脑管家、软媒魔方等工具对开机启动项进行过优化,多数时候都没出现问题,但最近几次优化使系统出现了各种问题。现在来总结一下,win10的那些服务项目不能动,不能禁止开机启动,不能关闭后台驻留。CoreMessaging:重要进程,关键系统进程,禁用后无法进入系统,ctrl+alt+del键都无效;TaskScheduler:windows系统任务调度程序…

    2022年5月2日
    171
  • JB全家桶 激活码_在线激活

    (JB全家桶 激活码)2021最新分享一个能用的的激活码出来,希望能帮到需要激活的朋友。目前这个是能用的,但是用的人多了之后也会失效,会不定时更新的,大家持续关注此网站~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html…

    2022年3月27日
    66

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号