zoukankan      html  css  js  c++  java
  • 创作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

    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的文件列表制作更出色的代码提示。

  • 相关阅读:
    Java的运行机制
    java小项目之:植物大战僵尸,这个僵尸有点冷!内附素材源码
    学习Java必须避开的十大致命雷区,千万不要踩!
    教你从零开始学习java正则表达式!
    java小项目之:扫雷,这游戏没有你想的那么简单!
    CentOS 旧版下载地址
    yum相关变量浅析
    在 CentOS 中部署 KMS 服务器(vlmcsd)
    CentOS 6.x 重置root 密码
    1-VCP 框架
  • 原文地址:https://www.cnblogs.com/timssd/p/4781159.html
Copyright © 2011-2022 走看看