创作gtk源码级vim帮助文档 tags
缘由
那只有看到源码了。在linux源码上有个网站 http://lxr.linux.no /+trees, 可以很方面的查出相应版本的代码实现,gtk没有。那么就自己动手做一个。
我一直用vim,就想到了 ctags + vim + gtk3 相对应的源码包制作一个源码级帮助文档。
源码包准备
工作目录:/root/gtk/src
在官方下载页面 (http://www.gtk.org/download/index.php) 选取下载链接,存入文档packages.url
12345678#cat packages.url#------------http://ftp.gnome.org/pub/gnome/sources/gtk+/3.6/gtk+-3.6.4.tar.xzhttp://ftp.gnome.org/pub/gnome/sources/glib/2.34/glib-2.34.3.tar.xzhttp://ftp.gnome.org/pub/gnome/sources/pango/1.32/pango-1.32.6.tar.xzhttp://ftp.gnome.org/pub/gnome/sources/gdk-pixbuf/2.26/gdk-pixbuf-2.26.5.tar.xzhttp://ftp.gnome.org/pub/gnome/sources/atk/2.6/atk-2.6.0.tar.xz#------------
制作tags 脚本
这段脚本mkhelp.sh执行后,会在当前目录下生成 tags 文件
123456789101112131415161718#cat mkhelp.sh#----------------------------------#!/bin/bash# by haijie# modified NO. : 001wget -i packages.urlcf=tag.files> $cfforfin$(<packages.url) ;=""do=""tf="${f##*/}"tar=""xjvf=""$tf=""p="${tf%%.tar*}/`echo"${tf%-*}|=""tr=""-d="""+"`=""[="""$p"=""]=""&&=""find=""$pwd=""$p=""-name="""*.[ch]"="">> $cfdonectags -L $cf#------------------------------------------</packages.url)>
集成到 vim
直接写入~/.vimrc 太傻,因为每次都执行,我准备写成个函数,调用是才引入。在~/.vimrc中的code如下
123456“--------------------------function! Set_work_tag()settags+=/root/gtk/src/tagsendfunctionnmap <silent> <c-j>w : call Set_work_tag()<cr>”--------------------------</cr></c-j></silent>
使用
查看有关GTK的文件时,引入tags的快捷键为:Ctrl + j w;
在要查看的GTK的函数、宏、数据类型就使用vim的想对应的命令及其快捷键即可,
我爱用
- Ctrl + w ]
- :stslect
多余的话
这里只是用了 ctags ,在mkhelp.sh中加入cscope 就可以使用tag.files的文件列表制作更出色的代码提示。