程序员专用本地代码搜索引擎Gonzui » 荒野无灯weblog

Keep It Simple, Stupid.

荒野无灯weblog

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

以前在网上看到过这个东东,不过当时还没买电脑,没时间试用。
现在偶然从以前的博文里翻出来了。
发现这个东东的确很强大。看了下官方的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下面不要那个./ ,本文都是这样,其它地方就不再说了。)

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

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

sudo apt-get install gonzui

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

 ./gonzui-server

在ubuntu 下则是:

gonzui-server

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


通过版本控制系统导入

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

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

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

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

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

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

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

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

./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 .

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

gonzui-import /somewhere/foo

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

gonzui-update

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

其它使用方法:

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

./gonzui-search main

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

./gonzui-db --list

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

./gonzui-remove wget-1.9.1

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

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

(我导入了wordpress 的源码)
gonzui1

gonzui2

gonzui3

Tagged in :

All Comments (0)
Gravatar image
No Comments