vim全局搜索当前目录
2015-11-15 23:42
369 查看
在使用vim操作是,总是希望能够全局搜索某个word,函数名或者变量。但一直没有找到很好的方法,最近vimscript的书发现了一种非常好的方法,贴出来供大家分享:
或者使用vi选中想要查找的文字片段
或者<leader>giw选择文字
vimrc中的代码片段:
map <leader>0 :ccl<cr> nnoremap <leader>g :set operatorfunc=GrepOperator<cr>g@ vnoremap <leader>g :<c-u>call GrepOperator(visualmode())<cr> function! GrepOperator(type) if a:type ==# 'v' normal! `<v`>y elseif a:type ==# 'char' normal! `[v`]y else return
endif silent execute "grep! -R " . shellescape(@@) . " ." copen endfunctionleader就是我们常用的快捷键符号,比如我的是逗号。
使用时
可以viw选中单词,然后<leader>g进行当前目录查找,结果会在fix window中显示<leader>0 用于关闭查找结果。或者使用vi选中想要查找的文字片段
或者<leader>giw选择文字
升级版(考虑命名空间和临时寄存器):
nnoremap <leader>g :set operatorfunc=<SID>GrepOperator<cr>g@ vnoremap <leader>g :<c-u>call <SID>GrepOperator(visualmode())<cr> function! s:GrepOperator(type) let saved_unnamed_register = @@ if a:type ==# 'v' normal! `<v`>y elseif a:type ==# 'char' normal! `[v`]y else return endif silent execute "grep! -R " . shellescape(@@) . " ." copen let @@ = saved_unnamed_register endfunction
相关文章推荐
- VIM编译器显示TAB和TAB转换为空格
- 菜鸟说给菜鸟听之VIM--入门篇(1)
- 搜狗百度360市值齐跌:搜索引擎们陷入集体焦虑?
- cygwin下vim方向键不好用的解决方案
- 安装使用Ubuntu之vim必须知道的细节
- 本人即将筹备败家日志,敬请期待!
- IE:使用搜索助手
- Ruby学习笔记二帮助生成Vim添加代码头的代码
- C++深度优先搜索的实现方法
- 基于文本的搜索
- php实现搜索一维数组元素并删除二维数组对应元素的方法
- 批处理bat命令 获取当前盘符和当前目录和上级目录的代码
- 使用Sphinx对索引进行搜索
- asp 多关键词搜索的简单实现方法
- C#使用foreach语句搜索数组元素的方法
- JavaScript中数组的排序、乱序和搜索实现代码
- ruby开发vim插件小结
- C#编程实现Excel文档中搜索文本内容的方法及思路
- sqlserver中在指定数据库的所有表的所有列中搜索给定的值
- 可以用来搜索当前页面内容的js代码