创作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

1
2
3
4
5
6
7
8
#cat packages.url
#------------
http://ftp.gnome.org/pub/gnome/sources/gtk+/3.6/gtk+-3.6.4.tar.xz
http://ftp.gnome.org/pub/gnome/sources/glib/2.34/glib-2.34.3.tar.xz
http://ftp.gnome.org/pub/gnome/sources/pango/1.32/pango-1.32.6.tar.xz
http://ftp.gnome.org/pub/gnome/sources/gdk-pixbuf/2.26/gdk-pixbuf-2.26.5.tar.xz
http://ftp.gnome.org/pub/gnome/sources/atk/2.6/atk-2.6.0.tar.xz
#------------

制作tags 脚本

这段脚本mkhelp.sh执行后,会在当前目录下生成 tags 文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#cat mkhelp.sh
#----------------------------------
 
#!/bin/bash
# by haijie
# modified NO. : 001
 
wget -i packages.url
 
cf=tag.files
> $cf
 
for f in $(<packages.url) ;="" do="" tf="${f##*/}" tar="" xjvf="" $tf="" p="${tf%%.tar*}/`echo" ${tf%-*}|="" tr="" -d="" "+"`="" [="" "$p"="" ]="" &&="" find="" $pwd="" $p="" -name="" "*.[ch]"="">> $cf
done
 
ctags -L $cf
 
#------------------------------------------</packages.url)>

集成到 vim

直接写入~/.vimrc 太傻,因为每次都执行,我准备写成个函数,调用是才引入。在~/.vimrc中的code如下

1
2
3
4
5
6
“--------------------------
function!  Set_work_tag()
    set tags+=/root/gtk/src/tags
endfunction
nmap <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的文件列表制作更出色的代码提示。

创作gtk源码级vim帮助文档 tags的更多相关文章

  1. Net 通用权限管理系统源码 带数据库设计文档,部署说明文档

    Net 通用权限管理系统源码 带数据库设计文档,部署说明文档 包括数据库设计文档部署安装文档源码数据库文件 下载地址:http://www.mallhd.com/archives/1389

  2. 没必要看源码。。把文档学通就已经牛逼了(我们大多还是在应用层,还达不到研究的程度。附class与examples大全链接)

    [学霸]深圳-鑫 2017/7/11 13:54:07只是学习怎么用QT的话,不用看源码.看帮助文档就很好要学习编码风格与思路,就看看源码 [学神]武汉-朝菌 2017/7/11 13:54:39没必 ...

  3. 突发奇想之:源码及文档,文档包括源码---xml格式的源码,文档源码合并;注释文档化,文档代码化;

    目前源码和文档一般都是分开的,我在想为什么 源码不就是最好的文档么? 但是一般源码都是文本text的,格式化需要人为统一规范,所以源码中的文档在现实中不是那么的易于实践. 而且 源码 不能包括图片.附 ...

  4. 在eclipse中查看sources源码和JavaDoc帮助文档

    今天学习Netty的过程中,从官网下载的netty里面的内容如下: 其中jar文件夹里面的内容如下: 可以看到每一个具体的jar包就对应有一个sources.jar包,然后所有的帮助文档在javaDo ...

  5. QT210 Android4.0源码编译和烧录文档整理

    开发环境说明: Ubuntu 12.04 LTS 32bit 源码文件目录: 勤研光盘2013-5-4\4.0 https://github.com/jackyh (建议在Linux环境下通过git下 ...

  6. Activiti-5.3工作流引擎-源码解析(流程文档解析)

    前面我们通过BPMN20.xsd和Activiti自定义的XML Schema文件初步了解了业务流程模型的定义,那么现在我们来了解一下流程文档的解析过程,这个过程主要是通过代码解析来完成. 代码解析过 ...

  7. MapReduce的MapTask任务的运行源码级分析

    TaskTracker任务初始化及启动task源码级分析 这篇文章中分析了任务的启动,每个task都会使用一个进程占用一个JVM来执行,org.apache.hadoop.mapred.Child方法 ...

  8. 源码级调试的XNU内核

    i春秋翻译小组-FWorldCodeZ 源码级调试的XNU内核 无论你是在开发内核扩展,进行漏洞研究,还是还有其他需要进入macOS / iOS内核,XNU,有时你需要附加调试器.当你这样做时,使用源 ...

  9. MapReduce的ReduceTask任务的运行源码级分析

    MapReduce的MapTask任务的运行源码级分析 这篇文章好不容易恢复了...谢天谢地...这篇文章讲了MapTask的执行流程.咱们这一节讲解ReduceTask的执行流程.ReduceTas ...

随机推荐

  1. 【转】windows 7系统安装与配置Tomcat服务器环境

    原文链接: windows 7系统安装与配置Tomcat服务器环境 工具/原料 jdk-8u51-windows-x64(我的系统是64位系统,32位的请选x86下载)下载地址:http://www. ...

  2. Python的strip()与split()

    ==>the start 说实话刚开始我对strip()和split()这两个还真的不太懂,后来在网上查了资料才明白. 可能别人觉着这俩很好区分,但是我最开始确实是有点分不清的,或者说不太确定这 ...

  3. Qt 智能指针学习(7种QT智能指针和4种std智能指针)

    从内存泄露开始? 很简单的入门程序,应该比较熟悉吧 ^_^ #include <QApplication> #include <QLabel> int main(int arg ...

  4. Qt学习之路:自定义Model三篇,自定义委托等等

    http://devbean.blog.51cto.com/448512/d-8/p-2

  5. Android Mediaplayer 调用release()的时候ANR

    先stop,然后再release,最后吧media置为null

  6. itextsharp生成pdf后的直接打印问题

    原文 itextsharp生成pdf后的直接打印问题 小弟这两天用itextsharp生成pdf文档,生成的pdf可以直接保存在指定路径的文件夹下,可是user不想保存,想要点一下button,就可以 ...

  7. Linux 命令整理

    一.文件目录命令 1.建立目录:mkdir 目录名 2.删除空目录:rmdir 目录名 3.无条件删除子目录: rm -rf 目录名 4.改变当前目录:cd 目录名 (进入用户home目录:cd ~; ...

  8. 基于visual Studio2013解决C语言竞赛题之0803报数

       题目

  9. webBrowser中操作网页元素全攻略

    原文 webBrowser中操作网页元素全攻略 1.获取非input控件的值: webBrowser1.Document.All["控件ID"].InnerText; 或webBr ...

  10. Android 之 Fragment

    一  左侧标题列表 1.1  布局 left_fragment.xml <ListView xmlns:android="http://schemas.android.com/apk/ ...