• linux下代码阅读扩展


    最近在linux下读代码,简直不能直视;windows下推荐Source Insight;下面写下linux下如何读代码。
    工欲善其事,必先利其器。一个强大的开发环境可以大大提高工作效率。 
     C/C++: vim+ctags+taglist+cscope
     安装就不说了,根据下面的自行安装。
     
    1,安装使用Ctags

            Ctags工具是用来遍历源代码文件生成tags文件,这些tags文件能被编辑器或其它工具用来快速查找定位源代码中的符号(tag/symbol),如变量名,函数名等。比如,tags文件就是Taglist和OmniCppComplete工作的基础。

    usr/share/vim/vimrc 中增加以下这行:
     
    map <C-F12> :!ctags -R --c++-kinds=+p --fields=+iaS --extra=+q .<CR> 
            set tags=tags; set autochdir
    到此,Ctags已安装成功。

        使用Ctags的也很简单。 进入我们的项目代码根目录,执行以下命令:
         
    ctags -R --c++-kinds=+p --fields=+iaS --extra=+q
     
    另外,由于在前面第5条,我们已经在Vim中配置了Ctrl-F12组合快捷键,所以我们也可以进入代码根目录后,打开Vim,按下Ctrl-F12快捷键自动生成tags文件。

            命令执行完后,会在源代码目录生成tags文件。Vim默认会自动读取当前目录下的tags文件,所以不需要修改~/.vimrc文件。此时,我们已经具有定义跳转的功能了。有两组快捷键是最常用的。

                   Ctrl-]    跳转到光标所在符号的定义。

                   Ctrl-t    回到上次跳转前的位置。

            更多功能通过命令man ctags或在Vim命令行下运行help ctags查询。

     2,安装使用Taglist

            Taglist是vim的一个插件,提供源代码符号的结构化视图。
    打开配置文件usr/share/vim/vimrc ,加入以下两行:   
             
    let Tlist_Show_One_File=1
         
     let Tlist_Exit_OnlyWindow=1 
    到此安装已经完成。 
     
     在Vim命令行下运行TlistToggle命令就可以打开Taglist窗口,再次运行TlistToggle则关闭。

     我们可以通过Ctrl-w快捷键或鼠标点击在Taglist窗口和编辑区之间切换焦点,在Taglist窗口用鼠标或键盘选择某个符号,然后点击或回车,就可以跳转到该符号定义的位置。

            更多功能可通过在Vim命令行下运行help taglist.txt查询。


        3,安装使用Cscope

            Cscope提供交互式查询语言符号功能,如查询哪些地方使用某个变量或调用某个函数。
    确定Vim已支持Cscope后,将文件http://cscope.sourceforge.net/cscope_maps.vim下载到usr/share/vim/vimrc/plugin目录   
     
    到这里,我们就可以开始使用Cscope了。

           1)使用Cscope需要生成cscope数据库文件。进入项目代码根目录运行命令:
     cscope -Rbq -f path(地址)/xxx.out(名字)

    命令运行后会生成xxx.out文件,即cscope数据库文件。更多用法参考man cscope文档。

           2)进入项目代码根目录,在Vim下运行命令:
     
     cs add path/xxx.out
     
    此命令将cscope数据库载入Vim。

           3)Cscope常用快捷键

               cs    s    名称   查找所有当前光标所在符号出现过位置。
               cs    c   名称    查找所有调用当前光标所在函数的函数。
    s: 查找C语言符号,即查找函数名、宏、枚举值等出现的地方
    g: 查找函数、宏、枚举等定义的位置,类似ctags所提供的功能
    d: 查找本函数调用的函数
    c: 查找调用本函数的函数
    t: 查找指定的字符串
    e: 查找egrep模式,相当于egrep功能,但查找速度快多了
    f: 查找并打开文件,类似vim的find功能
    i: 查找包含本文件的文
    按下快捷键查找结束后会在编辑区下方出现查找结果的列表,输入结果编号并回车,就能跳转到该查找结果在源代码中的相应位置。
    -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    参考地址:
    http://blog.csdn.net/bokee/article/details/6633193

  • 相关阅读:
    物理层和数据链路层
    Python :Dive Into Python 中文版 读后感_第五章__类与对象
    关于路由器的2种接法
    关于设计模式的一些理解和感悟
    C# 字符串加密
    Sql server 查询锁表和接锁表
    关于中文参数编码的一些文章推荐
    写与悟
    http 返回的状态码以及含义
    js 操作<input type="hidden" runnat="server" id="month">服务器控件
  • 原文地址:https://www.cnblogs.com/notepi/p/3137102.html
Copyright © 2020-2023  润新知