vim基础学习之搜索功能
当我们使用vim看源码的时候,我们可能会碰到一个方法或者变量,我们想要知道这个变量在其他地方的使用情况。这时候我们经常的做法就是退出当前的文件,或
者是重新切换一个终端,然后使用grep或者find等shell命令进行搜索。其实,我们完全可以在不离开文件的情况下,在vim的命令行中进行搜索。
vim内部搜索有两种方式,一直就是调用外部的搜索工具进行搜索grep。另外一种就是自带的内部搜索vimgrep
其中,grep允许我们就行设置,从而可以自主选择我们希望使用的搜索工具以及搜索结果样式。例如
我们可以通过在vimrc中添加如下内容,来把ack作为grep默认的搜索工具
set grepprg=ack\ --nogroup\ $*
当然,你不要忘了配置ack的链接,如下
sudo ln -s /usr/bin/ack-grep /usr/local/bin/ack
我们可以通过如下方法设置搜索结果样式
set grepformat=%f:%l:%c:%m
%f:文件名
%l:行号
%c:列号
%m:匹配行的文本
除了上述的外部搜索命令,vim还支持内部搜索命令,vimgrep。它其实就跟grep差不多。
这些搜索命令,我们使用以后,主要的就是生成一个搜索列表,这个搜索列表会保存在quickfix中,我们只要调出这个窗口,我们就可以很方便的查看搜索结果并>能跳转到搜索结果了。
vim基础学习之搜索功能的更多相关文章
- vim基础学习之自动补全功能
本章我们学习自动补全功能1.自动补全优先从当前的编辑区获得补全列表例如:我们写下如下内容 aaaaa aabbb aaab 当我们再次输入aa,然后我们按下Tab的时候,会弹出一个包含 aaaaa a ...
- vim 基础学习之查找
普通模式下 /->正向查找 n-向下查找 N-向上查找 ?->反向查找 N-向下查找 n-向上查找 <C-r><C-w> <C-r>-引用,例如引用寄存 ...
- vim 基础学习之替换
替换命令substitute可以用来查找跟替换操作. :[range]s[ubstitute]/{pattern}/{string}/[flags] [count] range-命令作用范围(缺省的情 ...
- vim 基础学习之global
global命令可以在指定模式下,匹配行上进行Ex命令 使用格式: :[range]g[lobal]/{pattern}/[cmd] range-是执行范围(如果缺省,是%) global-命令关键字 ...
- vim 基础学习之文件跳转
1. ''-当前文件上次跳转之前的位置2. '.-当前文件上次修改的位置,只要是发生了可能导致变化的命令操作就会被标记,哪怕实际结果没有变化3. '^-当前文件上次插入的位置,只要是发生了插入操作命令 ...
- vim 基础学习之重复
重复命令 .: 这个命令可以重复之前的操作.例如你执行了dd操作,然后. 就会删除当前行还有从进入插入模式到退出插入模式,之间的修改也算是一次操作.比如,你执行了i aaa <Esc>然后 ...
- vim基础学习1---简单命令
1:vim abc:如果有abc文件,则打开,否则创建之后打开 2:输入"i",才可以输入东西 3:按Esc,它是底行模式,再敲":wq 回车" 保存退出. 4 ...
- vim基础学习之EX命令
:tabnew -创建新标签 :split(sp)-垂直分割窗口 如果没有打开新的文件,那么会打开原来窗口的文件 :vsplit(vsp)-水平分割窗口 如果没有打开新的文件,那么会打开原来窗口的文件 ...
- vim 基础学习之可视模式
1. 选择模式这个模式必须通过可视模式进入.在可视模式下,我们通过 <C-g>来把我们的可视选中块作为选择模式下的操作块. 这时候我们输入可见字符,就会把这个块给覆盖掉.例如aaa bbb ...
随机推荐
- plsql 中如何清除曾经登录过的用户名
tools(工具)---> preferences(首选项) ---> login history(登录历史) ---> history(历史) ---> 把你想要删除的删除
- linux下python3源码安装及卸载
Linux下Python3的源码编译安装和卸载方法 [日期:2019-06-21] 来源:博客园 作者:wuli潇萧 [字体:大 中 小] (一)Linux下软件的源码编译安装和卸载方法 L ...
- CSS display属性学习
---恢复内容开始--- http://www.w3school.com.cn/cssref/pr_class_display.asp 所有主流浏览器都支持 display 属性,如IE,Firefo ...
- 首家5G体验厅在深圳建成
日前,深圳移动卓越时代营业厅推出5G全方位体验活动,让市民亲身感受5G时代到来.据悉,十大5G展示项目生动展现移动5G带来的生活巨变与产业升级,为5G发展汇聚各界力量加速创新落地. 现场有市民表示,5 ...
- javascript与DOM节点的结合使用
文档对象模型(Document Object Model,简称DOM),是W3C组织推荐的处理可扩展标志语言的标准编程接口.在网页上,组织页面(或文档)的对象被组织在一个树形结构中,用来表示文档中对象 ...
- PatentTips - Posting interrupts to virtual processors
BACKGROUND Generally, the concept of virtualization in information processing systems allows multipl ...
- HBase快照、Snapshots 淘宝快照
淘宝在2011年之前所有的后端持久化存储基本上与我们所认知的意义, 大量存于 mysql .少量 oracle mongdb 等,使用mysql 的原因相信各位也很熟悉了. 开源.社区庞大.解决方 ...
- Option可选值(一)
//: Playground - noun: a place where people can play import Cocoa class Person { var residence: Resi ...
- 前端编程提高之旅(十二)----position置入值应用
这次内推项目用到的遮罩及其页面下方button都涉及一个概念position置入值得概念.效果图例如以下: 一个元素position属性不是默认值static.那么该元素被称为定位元素. 定位的元素生 ...
- linux 下的select函数
函数原型 /* According to POSIX.1-2001 */ #include <sys/select.h> //头文件 /* According to earlier st ...