涉及linux平台下ctags, taglist插件

ctags是一个用于产生代码索引文件的插件,它产生的索引可以帮助我们更快的定位到特定位置。

ctags支持很多语言,比如java, c, c++, python, perl, php, ruby, scheme, tcl, vim, yacc, bash/kron shell/zsh, cobol, awk, asp, lisp, pascal等等,几乎流行的语言全都支持。

1.首先yum install ctags可以非常方便的安装ctags组件

2.taglist是vim的一个插件,你可以到vim的官网的插件页找一找,下载下来。

3.安装taglist

首先在你的家目录下建立一个.vim隐藏目录,如果此目录已经存在就不用再建立了。

然后$ cd .vim

然后$ unzip /path/to/taglist.zip    ----得到doc和plugin两个文件夹;

将解压的两个文件夹放置在.vim目录下;

然后$ cd doc

然后$ vim

在vim中,执行:helptags .  (注意这个点号!)

OK。你可以重启vim,taglist应该已经安装成功了

4.将ctags和taglist链接

首先在shell中执行which ctags,记住返回结果,我的是/usr/bin/ctags

用vim打开.vim/plugin/taglist.vim文件,找到if!exist(“loaded_taglist”)这一行,在此行上面 新加一行(大写O),加入如下内容: let Tlist_Ctags_Cmd=”/usr/bin/ctags”(即将ctags的文件路径填到这里)。

用vim打开~/.vimrc的文件:

- 如果你不想同时显示多个文件中的tag,设置Tlist_Show_One_File为1。缺省为显示多个文件中的tag;

let Tlist_Show_One_File = 1            "不同时显示多个文件的tag,只显示当前文件的

- 如果你在想taglist窗口是最后一个窗口时退出VIM,设置Tlist_Exit_OnlyWindow为1;

let Tlist_Exit_OnlyWindow = 1          "如果taglist窗口是最后一个窗口,则退出vim

- 如果你想taglist窗口出现在右侧,设置Tlist_Use_Right_Window为1。缺省显示在左侧。

let Tlist_Use_Right_Window = 1         "在右侧窗口中显示taglist窗口

如果你想显示taglist菜单,设置Tlist_Show_Menu为1。你可以使用Tlist_Max_Submenu_Items和Tlist_Max_Tag_Length来控制菜单条目数和所显示tag名字的长度;

缺省情况下,在双击一个tag时,才会跳到该tag定义的位置,如果你想单击tag就跳转,设置Tlist_Use_SingleClick为1;

- 如果你想在启动VIM后,自动打开taglist窗口,设置Tlist_Auto_Open为1;

- 如果你希望在选择了tag后自动关闭taglist窗口,设置Tlist_Close_On_Select为1;

- 当同时显示多个文件中的tag时,设置Tlist_File_Fold_Auto_Close为1,可使taglist只显示当前文件tag,其它文件的tag都被折叠起来。

- 在使用:TlistToggle打开taglist窗口时,如果希望输入焦点在taglist窗口中,设置Tlist_GainFocus_On_ToggleOpen为1;

- 如果希望taglist始终解析文件中的tag,不管taglist窗口有没有打开,设置Tlist_Process_File_Always为1;

- Tlist_WinHeight和Tlist_WinWidth可以设置taglist窗口的高度和宽度。Tlist_Use_Horiz_Window为1设置taglist窗口横向显示;

OK!链接成功

5.体验ctags+taglist

切换到你希望查看的源文件的所在目录,执行ctags -R,即递归的检索当前目录下的所有源文件,并建立索引。

用vim打开一个C源文件,将光标定位到某个函数或变量,按ctrl-],即可查看其对应的定义,再按ctrl-o(或ctrl-t)即可返回到原地。这种查询是以栈的方式管理的,所以你可以连续查询然后连续返回,最终完全可以返回到你打开文件时光标所在地。

在vim中执行:TlistToggle,可以发现在左侧出现了宏、函数、变量列表。按ctrl-w再按w,可以连续在左右窗口切换。

                使用了ctags和taglist插件的vim

6.至此,vim的配置完成了。其实还有很多很多好用的插件可以安装到vim中来

配置vim之插件的更多相关文章

  1. Centos6.7下面配置vim及其插件

    Vim是在vi的基础上升级而来的,比vi更强大,提供代码补全,编译功能 [4]vim Vim是从 vi 发展出来的一个文本编辑器.代码补完.编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用 ...

  2. 使用Vundle管理配置Vim的插件

    1.介绍: 安装需要Git,触发git clone,默认将每一个指定特定格式插件的仓库复制到~/.vim/bundle/. 搜索需要Curl支持. Windows用户请直接访问Windows setu ...

  3. 【vim】插件管理及代码智能提示与补全环境的配置

    1. 引言 可以使用脚本/插件来给vim添加各种神奇的功能,从更换颜色主题.到代码智能提示,甚至项目管理.无数开发者通过开源社区贡献自己开发的插件,使得vim有可能变得无比强大.这儿http://vi ...

  4. 配置vim插件遇到youcompleteme插件问题解决方案

    今天在Opensuse下配置vim 遇到两个问题 配置插件找到一个很好的博客.学到一些有用技巧 http://hahaya.github.io/2013/07/26/use-vundle.html 但 ...

  5. centos使用--vim配置和推荐插件使用

    目录 1.vimrc的配置内容 2.Vundle使用 简介 安装vundle 配置vundle插件: 安装需要的插件 移除不需要的插件 其他常用命令 3 使用插件 3.1 NERDTree 3.2 e ...

  6. vim 常用插件功能跟配置

    在之前的公司,一直是使用别人配置好的vim 环境,他当时配置的功能很强大,查看源码的时候,非常的方便.至少我一直都是用它来看源码,从来没有使用过source insight.现在换了工作,但之前养成的 ...

  7. 在ubuntu上搭建开发环境6---安装和使用vim及其插件(Pathogen和NERDTree)

    2015.09.08 更为详细的配置vim的方法,请参见我的新整理的文章:http://segmentfault.com/a/1190000003722928 Vim安装 命令: sudo apt-g ...

  8. mac配置vim-go

    基本的设置信息(参考网址:http://hessian.cn/p/1026.html): "还是配置/.vimrc文件. syn on "语法支持 set laststatus=2 ...

  9. Vim Vundle 插件管理器

    /********************************************************************** * Vim Vundle 插件管理器 * 说明: * 话 ...

随机推荐

  1. Sencha Touch 之 Ext.fly方法的使用

    Ext.fly方法是Ext.js 4中的flyweight技术,该技术在浏览器中为使用Ext.fly方法的元素节点开辟一块内存,下一次使用Ext.fly方法的元素节点将占据同一块内存,即覆盖前一次的元 ...

  2. [原]基于CAS实现单点登录(SSO):登录成功后,cas client如何返回更多用户信息

    从cas server登录成功后,默认只能从casclient得到用户名.但程序中也可能遇到需要得到更多如姓名,手机号,email等更多用户信息的情况. cas client拿到用户名后再到数据库中查 ...

  3. Android 天天爱消除辅助

    简介 <天天爱消除>是一款移植于手游的消除类益智游戏,该游戏只有通过手机登录QQ跟微信才能进行,这样一来这款游戏必然会大红大紫. 功能 开发Android自动化触屏事件,录制操作脚本,实现 ...

  4. 柯南君:看大数据时代下的IT架构(5)消息队列之RabbitMQ--案例(Work Queues起航)

    二.Work Queues(using the Java Client) 走起   在第上一个教程中我们写程序从一个命名队列发送和接收消息.在这一次我们将创建一个工作队列,将用于分发耗时的任务在多个工 ...

  5. Sublime text3使用积累

    1.colorpicker选择颜色的. 快捷键ctrl+shift+C 2.jsFormat格式化js 快捷键ctrl+alt+f [ { "keys": ["ctrl+ ...

  6. C语言入门(14)——结构体

    整数.字符.布尔值.浮点数这些数据类型都具有单一的值,这些可称为基本数据类型.但字符串是一个例外,它由很多字符组成,像这种由基本类型组成的数据类型称为复合数据类型,正如表达式和语句有组合规则一样,由基 ...

  7. [LeetCode][Python]Add Two Numbers

    # -*- coding: utf8 -*-'''__author__ = 'dabay.wang@gmail.com'https://oj.leetcode.com/problems/add-two ...

  8. NYOJ-252 01串

    01串 时间限制:1000 ms  |  内存限制:65535 KB 难度:2 描写叙述 ACM的zyc在研究01串,他知道某一01串的长度,但他想知道不含有"11"子串的这样的长 ...

  9. linux 使用sudo开放普通用户权限

    整理一下以前写的东东,刚才又忘了- ---------------------------------------------------------------------------------- ...

  10. ceph 块设备

    数据的存储设备? 数据的存储有3种形式,1种是直接以二进制数据的形式存储在裸设备(包括块设备)上,另外一种是以文件的形式经过文件系统管理进行存储.第三种就是以对象的形式进行对象存储.本篇讨论围绕着块设 ...