背景
作为一个VIM党,日常工作开发中,会经常利用grep进行关键词搜索,以快速定位到文件。如图:
利用grep进行文本搜索
但是,这一过程会有两个效率问题:
- 展示的结果无法进行直接交互,需要手动粘贴文件路径在打开
- 展示的结果没有进行分组,直接将结果罗列出来
可想而知,当搜索的内容结果集比较大时,可谓痛苦。
那可以用Vim中的Ag插件进行搜索啊?
是的,但他只解决了交互的问题。仍然没有解决结果集分组分类的痛点。
在vim下利用ag进行文本搜索
思路
在使用Eclipse等IDE进行文本全局搜索时,在加载效果(懒加载)可视化方面有很大优势。
在Eclipse下进行全局文件搜索
那么,期望基于linux系统,提供一个类似的搜索工具。优点(功能)如下:
- 结果集可以直接交互
- 结果集可以进行分组展示
- 结果集通过“懒加载”方式装载
基于文本图形界面的类库是什么呢?网上大致了解了下VIM、htop类似的软件,其都是基于一个叫ncurses的类库实现的。
项目
项目的名称:ncgrep
为什么?因为有ngrep、egrep等。(注:ncgrep没有引用grep源码)
项目的Demo
ncgrep demo
代码
http://github.com/ncgrep/ncgrep
类似项目
NGP youtube ->https://www.youtube.com/watch?v=MesYBY8271s
总结
工具为效率而生,期望能够带来收益。
原文地址:http://blog.ihuxu.com/ncgrep-based-on-ncurses-global-regular-search-tool/