Skip to content

程序员专用本地代码搜索引擎Gonzui

2009 九月 29
by 荒野无灯

以前在网上看到过这个东东,不过当时还没买电脑,没时间试用。
现在偶然从以前的博文里翻出来了。
发现这个东东的确很强大。看了下官方的E文说明,翻译了下,本文水平有限,翻译得不好还请指正。见笑了-_-

Gonzui可以对你机子上的代码做索引,然后打开网页搜索本地的代码。搜索出来的结果的代码还有语法高亮哦。相当神奇的一个东东。
主要特点

    可搜索源代码的特定信息,如:函数名, 字符串, 注释等
    语法高亮代码
    易于使用
    支持多字节字符

目前支持的语言:

C
C++
Java
JavaScript
Ruby
Python
PHP
Perl
Objective Caml
Brainfuck
CSS
Shell Script
Plain Text

下载安装:http://gonzui.sourceforge.net/

如果是从源代码编译 gonzui,则
tar zxf gonzui-XXX.tar.gz # XXX is the version number
cd gonzui-XXX
./configure
make

官方文档说,你没有必要把gonzui 安装在系统目录(如/usr/local/*).相反,你可以在编译目录试用gonzui.

基本使用:

首先你要导入源码文件.例如,如果你要导入源代码wget-1.9.1.tar.gz,则只要执行下面的命令:
(注意在UBUNTU下面不要那个./ ,本文都是这样,其它地方就不再说了。)

1
 ./gonzui-import wget-1.9.1.tar.gz

或者你的系统正确配置了apt-get ,比如在ubuntu 系统下可以:

1
sudo apt-get install gonzui

然后你可以运行gonzui-server t将它用作一个基于网页的搜索引擎.

1
 ./gonzui-server

在ubuntu 下则是:

1
gonzui-server

最后,你可以用你浏览器访问这个代码搜索引擎, 其地址为 http://localhost:46984/.


通过版本控制系统导入

目前,gonzui支持从 CVS 和 Subversion’s repositories 导入. 例如,你想导入能以以下方式获得的源代码:

1
 cvs -d :pserver:anonymous@cvs.ruby-lang.org:/src co ruby

那么你可以像下面这样运行 gonzui-import 命令:

1
./gonzui-import --cvs :pserver:anonymous@cvs.ruby-lang.org:/src ruby

用缩减的命令”gonzui-import –cvs X Y” 这样就不用先 “cvs -d X co Y” .

对于 Subversion,如果你想导入能以以下方式获得的源代码:

1
svn co http://svn.edgewall.com/repos/trac/trunk trac

那么你可以像下面这样运行 gonzui-import 命令:

1
./gonzui-import --svn http://svn.edgewall.com/repos/trac/trunk trac

用缩减的命令 “gonzui-import –svn X Y” 这样就不用先 “svn co X Y” .

你要以更新gonzui的索引通过 gonzui-update命令来反映下面表述的变化:

目前, gonzui 不支持CVS 与 Subversion的 revisions 和 tags .

增量更新
如果你这样导入后:

1
gonzui-import /somewhere/foo

你可以通过下面的命令更新 (addition, deletion, and update of files) :

1
gonzui-update

因为索引已经包含了/somewhere/foo目录, 所以这里你可以不必为gonzui-update 命令增加任何参数. 如果目前的索引存在 两个或以上的packages, 所有的packages 都将被更新. 假如 /somewhere/foo 这个目录不存在了, gonzui-update抛出一个警告:
“source disappeared”.

其它使用方法:

基于命令行的搜索工具也存在,但它 主要用于 debug .比如要找”main” 函数的位置,你可以像下面这样运行 gonzui-search 命令:

1
./gonzui-search main

如下命令可以获得索引数据库里所有packages的清单:

1
./gonzui-db --list

要从索引里移除wget-1.9.1, 可以像下面这样运行 gonzui-remove:

1
./gonzui-remove wget-1.9.1

关于使用的更多信息,请在命令后加上 –help 参数.

下面是我使用的一些截图,确实很好很强大啊,这个工具:

(我导入了wordpress 的源码)
gonzui1

gonzui2

gonzui3

喜欢这篇文章吗?

请订阅本站 RSS feed填写您的邮件地址,订阅我们的精彩内容:,欢迎点击这里捐赠以支持荒野无灯转播到腾讯微博 转播到腾讯微博

作者:荒野无灯
出处:Hacklog【Hacklog】

声明: 本站遵循 署名-非商业性使用-相同方式共享 3.0 共享协议. 转载请注明转自Hacklog【荒野无灯weblog】

本文链接: http://ihacklog.com/?p=2649

3 Responses Post a comment
  1. 九月 30, 2009

    呵呵,平时做东西的时候还是用记事本记下来

  2. 九月 30, 2009

    强大,可我不怎么看得懂!

Leave a Reply

Allowed Tags - You may use these HTML tags and attributes in your comment.

<a href="" title=""> <abbr title=""> <acronym title=""> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <q cite=""> <strong>

 :wink:  :-|  :-x  :twisted:  :)  8-O  :(  :roll:  :-P  :oops:  :-o  :mrgreen:  :lol:  :idea:  :-D  :evil:  :cry:  8)  :arrow:  :-?  :?:  :!:

Note: You may use basic HTML in your comments. Your email address will not be published.

Subscribe to this comment feed via RSS