基于文本图形(ncurses)的文本搜索工具 ncgrep

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于文本图形(ncurses)的文本搜索工具 ncgrep相关的知识,希望对你有一定的参考价值。

作为一个VIM党,日常工作开发中,会经常利用grep进行关键词搜索,以快速定位到文件。如图:

技术分享图片

利用grep进行文本搜索

但是,这一过程会有两个效率问题:

  • 展示的结果无法进行直接交互,需要手动粘贴文件路径在打开
  • 展示的结果没有进行分组,直接将结果罗列出来

可想而知,当搜索的内容结果集比较大时,可谓痛苦。

那可以用Vim中的Ag插件进行搜索啊?

是的,但他只解决了交互的问题。仍然没有解决结果集分组分类的痛点。

技术分享图片

在vim下利用ag进行文本搜索

思路

在使用Eclipse等IDE进行文本全局搜索时,在加载效果(懒加载)可视化方面有很大优势。

技术分享图片

在Eclipse下进行全局文件搜索

那么,期望基于linux系统,提供一个类似的搜索工具。优点(功能)如下:

  • 结果集可以直接交互
  • 结果集可以进行分组展示
  • 结果集通过“懒加载”方式装载

基于文本图形界面的类库是什么呢?网上大致了解了下VIM、htop类似的软件,其都是基于一个叫ncurses的类库实现的。

项目

项目的名称:ncgrep

为什么?因为有ngrep、egrep等。(注:ncgrep没有引用grep源码)

项目的Demo

技术分享图片

以上是关于基于文本图形(ncurses)的文本搜索工具 ncgrep的主要内容,如果未能解决你的问题,请参考以下文章

C指针原理(35)-Ncurses-文本终端的图形

C指针原理(33)-Ncurses-文本终端的图形

C指针原理(34)-Ncurses-文本终端的图形

C指针原理(34)-Ncurses-文本终端的图形

Ncurses入门-安装与使用

为图形/分子比较算法调整文本搜索