创作gtk源码级vim帮助文档 tags
创作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的文件列表制作更出色的代码提示。
创作gtk源码级vim帮助文档 tags的更多相关文章
- Net 通用权限管理系统源码 带数据库设计文档,部署说明文档
Net 通用权限管理系统源码 带数据库设计文档,部署说明文档 包括数据库设计文档部署安装文档源码数据库文件 下载地址:http://www.mallhd.com/archives/1389
- 没必要看源码。。把文档学通就已经牛逼了(我们大多还是在应用层,还达不到研究的程度。附class与examples大全链接)
[学霸]深圳-鑫 2017/7/11 13:54:07只是学习怎么用QT的话,不用看源码.看帮助文档就很好要学习编码风格与思路,就看看源码 [学神]武汉-朝菌 2017/7/11 13:54:39没必 ...
- 突发奇想之:源码及文档,文档包括源码---xml格式的源码,文档源码合并;注释文档化,文档代码化;
目前源码和文档一般都是分开的,我在想为什么 源码不就是最好的文档么? 但是一般源码都是文本text的,格式化需要人为统一规范,所以源码中的文档在现实中不是那么的易于实践. 而且 源码 不能包括图片.附 ...
- 在eclipse中查看sources源码和JavaDoc帮助文档
今天学习Netty的过程中,从官网下载的netty里面的内容如下: 其中jar文件夹里面的内容如下: 可以看到每一个具体的jar包就对应有一个sources.jar包,然后所有的帮助文档在javaDo ...
- QT210 Android4.0源码编译和烧录文档整理
开发环境说明: Ubuntu 12.04 LTS 32bit 源码文件目录: 勤研光盘2013-5-4\4.0 https://github.com/jackyh (建议在Linux环境下通过git下 ...
- Activiti-5.3工作流引擎-源码解析(流程文档解析)
前面我们通过BPMN20.xsd和Activiti自定义的XML Schema文件初步了解了业务流程模型的定义,那么现在我们来了解一下流程文档的解析过程,这个过程主要是通过代码解析来完成. 代码解析过 ...
- MapReduce的MapTask任务的运行源码级分析
TaskTracker任务初始化及启动task源码级分析 这篇文章中分析了任务的启动,每个task都会使用一个进程占用一个JVM来执行,org.apache.hadoop.mapred.Child方法 ...
- 源码级调试的XNU内核
i春秋翻译小组-FWorldCodeZ 源码级调试的XNU内核 无论你是在开发内核扩展,进行漏洞研究,还是还有其他需要进入macOS / iOS内核,XNU,有时你需要附加调试器.当你这样做时,使用源 ...
- MapReduce的ReduceTask任务的运行源码级分析
MapReduce的MapTask任务的运行源码级分析 这篇文章好不容易恢复了...谢天谢地...这篇文章讲了MapTask的执行流程.咱们这一节讲解ReduceTask的执行流程.ReduceTas ...
随机推荐
- 用来解析,格式化,存储和验证国际电话号码:libphonenumber
用来解析,格式化,存储和验证国际电话号码:libphonenumber libphonenumber是Google的公共Java.C++和Javascript库用来解析,格式化,存储和验证国际电话号码 ...
- Android 判断当前线程是否为主线程
public static boolean isInMainThread() { return Looper.myLooper() == Looper.getMainLooper(); }
- debian安装jdk8
1.官方下载java想安装的JAVA版本: http://www.oracle.com/technetwork/java/javase/downloads/index.html 2.比如说,常安装的J ...
- cocos2dx-lua捕获用户touch事件的几种方式
这里仅仅针对lua 1.为每一个关心的事件注冊回调函数 详细分为下面几种 1>单点触摸 注冊函数为 cc.Handler.EVENT_TOUCH_BEGAN = 40 cc.Handl ...
- 异步的两种写法: async 与 BeginInvoke
现在要实现异步只要用关键字async/await就可以轻松实现,在此之前需要用到委托/回调等一堆东西. 对一下是对比写法: class Program { delegate string SendMe ...
- WCF技术剖析之十一:异步操作在WCF中的应用(上篇)
原文:WCF技术剖析之十一:异步操作在WCF中的应用(上篇) 按照操作执行所需的资源类型,我们可以将操作分为CPU绑定型(CPU Bound)操作和I/O绑定型(I/O Bound)操作.对于前者,操 ...
- 《火球——UML大战需求分析》(第1章 大话UML)——1.5 小结和练习
说明: <火球——UML大战需求分析>是我撰写的一本关于需求分析及UML方面的书,我将会在CSDN上为大家分享前面几章的内容,总字数在几万以上,图片有数十张.欢迎你按文章的序号顺序阅读,谢 ...
- sudo service memcached start
我安装后memcached后,并使用 ? 1 sudo service memcached start
- 基于visual Studio2013解决面试题之1401冒泡排序
题目
- new对象数组时的内存布局
#include <iostream> #include <limits> using namespace std; #define SAFE_DELETE(x) \ { \ ...