阅读大型代码,我们常常须要打开非常多的代码文件,搜索各种定义。windows下用惯了ide的朋友。转战Linux的时候可能会认为非常难受,找不到合适的阅读工具。

事实上万能的vim就能够实现。

以下介绍一下vim+ctags+taglist的配置。

安装ctags

ubuntu源提供了ctags的安装。

sudo apt-get install ctags

安装taglist

下载:

src_id=6416">http://vim.sourceforge.net/scripts/download_script.php?src_id=6416

复制到ubuntu中。使用命令解压:

mkdir ~/.vim
unzip taglist_42.zip -d ~/.vim

解压后应该得到/doc和/plugin。 两个文件夹然后安装进vim

cp ~/.vim/doc/taglist.txt /usr/share/vim/vim74/doc/
cp ~/.vim/plugin/taglist.vim /usr/share/vim/vim74/plugin/

然后启动vim,命令模式输入

:helptags /usr/share/vim/vim74/doc/

之后,我们就能够使用

:help taglist.txt

命令来查看taglist的帮助文档。

之后,改动,vimrc 文件。

加入例如以下内容:

"""""""""Ctags"""""""""
set tags=tags
"""""""""taglist"""""""""
let Tlist_Auto_Open = 1
let Tlist_Sort_Type="name"
let Tlist_Exist_OnlyWindow =1
let Tlist_Ctags_Cmd = '/usr/bin/ctags'
let Tlist_Show_One_File = 1
let Tlist_Use_Lift_Window = 1

以后。你只须要在源代码文件夹顶层输入

ctags -R 

生成tags文件,然后用vim打开你的C文件,就能够使用快捷键进行跳转了。

使用ctr 和两次w在側窗体和主窗体之间进行切换。

        Ctrl + ] //跳入定义
Ctrl + T //调回

为ctags生成系统tags

如上之后,你会发现。ctags只支持源文件里定义的宏。变量和函数,可是我们调用的基本函数和系统函数都没办法实现跳转。

使用以下的命令生成系统头文件tags

ctags -I __THROW --file-scope=yes --langmap=c:+.h --languages=c,c++ --links=yes --c-kinds=+p --fields=+S  -R -f ~/.vim/systags /usr/include /usr/local/include

最后,设置你的~/.vimrc,加入一行:

set tags+=~/.vim/systags

就能够享受系统库函数跳转等功能了。

Ubuntu vim+ ctags(包括系统函数) + taglist 配置的更多相关文章

  1. Ubuntu vim+ ctags(包含系统函数) + taglist 配置 分类: vim ubuntu 2015-06-09 18:19 195人阅读 评论(0) 收藏

    阅读大型代码,我们经常需要打开很多的代码文件,搜索各种定义.windows下用惯了ide的朋友,转战Linux的时候可能会觉得很难受,找不到合适的阅读工具.其实万能的vim就可以实现.下面介绍一下vi ...

  2. Ubuntu vim下 实现函数跳转功能

    安装sudo apt-get install exuberant-ctags   在每次使用时,需要初始化tags,只有这样才能使用跳转功能 初始化: 进入项目的顶级目录.输入以下命令.        ...

  3. ubuntu vim之php函数提示

    参考文献:http://www.feiyan.info/32.html 折腾半天 原来是phpfunclist.txt不正确...... vim的配置在~/.vimrc (既你的home主目录 ,例如 ...

  4. vim + ctags + taglist配置和使用

    vim +ctags + taglist ,ctags+cscope 安装配置和使用 内容:VIM下ctags和taglist的安装配置方法:一键安装 ctags和cscope的方法 :vim语法高亮 ...

  5. 快速配置vim+ctags+taglist

    实验平台:centos 7 1.安装vim编辑器 点击(此处)折叠或打开 $sudo yum install vim 并编辑配置文件.vimrc文件,放在主目录下/home/developer 参考配 ...

  6. vim Ctags 和taglist安装和使用

    Ctags是一个用于从程序源代码树产生索引文件(或tag文件),从而便于文本编辑器来实现快速定位的实用工具.在产生的tag文件中,每一个tag的入口指向了一个编程语言的对象.这个对象可以是变量定义.函 ...

  7. Vim+Ctags+Taglist组合:

    Ctags 1,sudo apt-get install Ctags //会提示最新版本的名字:Exuberant Ctags 2,在源码的最上层目录执行:ctags -R //会在当前目录先生成一个 ...

  8. Linux 核心阅读工具vim+ctags+cscope+taglist

    今天.介绍vim+ctags+cscope+taglist的内核阅读配置. 当使用过之后,我相信大部分人都会舍弃之前的Eclipse(我就是活生生的一个样例).我们先来看看实现的界面是怎么样的: 我们 ...

  9. (转)Vim的Python编辑器详细配置过程 (Based on Ubuntu 12.04 LTS)

    为什么要用vim编辑py文件? 因为在Linux命令行中,缺少图形界面的IDE,vim是最佳的文本编辑器,而为了更好的编辑py文本,所以配置vim. 1. 安装完整版vim vi和vim的区别? 在L ...

随机推荐

  1. Spring @Transaction配置演示样例及发生不回滚原因深度剖析

    背景 近期在公司做的一个项目,用的是SpringMVC框架,数据库用的是MySql,刚開始并没有增加事务,后因业务须要必须事务处理. 问题的产生和解决 使用事务,直接问百度,我选择的是注解的方式. 在 ...

  2. MVC通过UIHint和自定义视图显示RadioButtonList

    在Product类中有一个显示删除状态的属性DelFlag,在编辑视图页,对于所有的删除状态以RadioButtonList显示出来,如果RadioButtonList选项的value值与当前mode ...

  3. java代码声明引用变量经验

    1.static只能修饰类的成员变量,不能修饰方法里的局部变量. 因为static是在类加载时候将成员变量存储进方法区的. 加载类的时候,是不去执行方法里的函数的.所以不会馆方法里的代码,自然就不会读 ...

  4. gflags摘记

    projcet url: https://github.com/schuhschuh/gflags usage: commandline flags processing DEFINE: Defini ...

  5. ELK+Filebeat 安装配置入门

    本文地址 http://www.cnblogs.com/jasonxuli/p/6397244.html   https://www.elastic.co 上,elasticsearch,logsta ...

  6. MapReduce任务分析与讨论MapReduce job explained

    In the last post we saw how to run a MapReduce job on Hadoop. Now we're going to analyze how a MapRe ...

  7. coursera课程Text Retrieval and Search Engines之Week 1 Overview

    Week 1 OverviewHelp Center Week 1 On this page: Instructional Activities Time Goals and Objectives K ...

  8. 【BZOJ】【2741】【FOTILE模拟赛】L

    可持久化Trie+分块 神题……Orz zyf & lyd 首先我们先将整个序列搞个前缀异或和,那么某一段的异或和,就变成了两个数的异或和,所以我们就将询问[某个区间中最大的区间异或和]改变成 ...

  9. OpenCV学习(26) 直方图(3)

    本章中我们学习一下通过backproject直方图,得到一副图像中每个像素属于该直方图的概率.在下边原始图中(左图),我们框选了一块四边形的区域,计算该区域的灰度直方图,然后通过下面的函数calcBa ...

  10. iOS开发-UINavigationController简单介绍

    导航条或者说导航栏目现在在App中基本上也算是标配,类似于父子级别的味道在里面,UINavigationController就是负责简化这一实现功能的,属于iOS开发中比较常用的一种容器View co ...