配置vim之插件
涉及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之插件的更多相关文章
- Centos6.7下面配置vim及其插件
Vim是在vi的基础上升级而来的,比vi更强大,提供代码补全,编译功能 [4]vim Vim是从 vi 发展出来的一个文本编辑器.代码补完.编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用 ...
- 使用Vundle管理配置Vim的插件
1.介绍: 安装需要Git,触发git clone,默认将每一个指定特定格式插件的仓库复制到~/.vim/bundle/. 搜索需要Curl支持. Windows用户请直接访问Windows setu ...
- 【vim】插件管理及代码智能提示与补全环境的配置
1. 引言 可以使用脚本/插件来给vim添加各种神奇的功能,从更换颜色主题.到代码智能提示,甚至项目管理.无数开发者通过开源社区贡献自己开发的插件,使得vim有可能变得无比强大.这儿http://vi ...
- 配置vim插件遇到youcompleteme插件问题解决方案
今天在Opensuse下配置vim 遇到两个问题 配置插件找到一个很好的博客.学到一些有用技巧 http://hahaya.github.io/2013/07/26/use-vundle.html 但 ...
- centos使用--vim配置和推荐插件使用
目录 1.vimrc的配置内容 2.Vundle使用 简介 安装vundle 配置vundle插件: 安装需要的插件 移除不需要的插件 其他常用命令 3 使用插件 3.1 NERDTree 3.2 e ...
- vim 常用插件功能跟配置
在之前的公司,一直是使用别人配置好的vim 环境,他当时配置的功能很强大,查看源码的时候,非常的方便.至少我一直都是用它来看源码,从来没有使用过source insight.现在换了工作,但之前养成的 ...
- 在ubuntu上搭建开发环境6---安装和使用vim及其插件(Pathogen和NERDTree)
2015.09.08 更为详细的配置vim的方法,请参见我的新整理的文章:http://segmentfault.com/a/1190000003722928 Vim安装 命令: sudo apt-g ...
- mac配置vim-go
基本的设置信息(参考网址:http://hessian.cn/p/1026.html): "还是配置/.vimrc文件. syn on "语法支持 set laststatus=2 ...
- Vim Vundle 插件管理器
/********************************************************************** * Vim Vundle 插件管理器 * 说明: * 话 ...
随机推荐
- 复习-C语言内嵌汇编-初级(2)
汇编取出内存中的值 # include <stdio.h> int main() { ; ; int *p = &i; //ret = *p; __asm__( "ldr ...
- Unix/Linux环境C编程入门教程(13) 开发环境搭建VMware软件安装
VMware(中文名威睿",纽约证券交易所"代码:VMW) 虚拟机软件,是全球桌面到数据中心虚拟化解决方案的领导厂商.全球不同规模的客户依靠VMware来降低成本和运营费用.确保业 ...
- 适配器模式—STL中的适配器模式分析
适配器模式通常用于将一个类的接口转换为客户需要的另外一个接口,通过使用Adapter模式能够使得原本接口不兼容而不能一起工作的类可以一起工作. 这里将通过分析c++的标准模板库(STL)中的适配器来学 ...
- 练习一下linux中的list函数。
所有的list函数见 include/linux/list.h 自己从 include/linux/list.h 拷贝了一些函数到自己的list.c中, 然后练习了一下. 没有别的目的,就是想熟练一下 ...
- openStack use
<1,project security> security groyps Security groups--> are sets of IP filter rules() that ...
- http-关于application/x-www-form-urlencoded等字符编码的解释说明
在Form元素的语法中,EncType表明提交数据的格式 用 Enctype 属性指定将数据回发到服务器时浏览器使用的编码类型. 下边是说明: application/x-www-form-urlen ...
- java自己主动生成验证码
代码结构: web.xml <? xml version="1.0" encoding="UTF-8"?> <web-app version= ...
- UUID 生成(源代码编译)
根据定义,UUID(Universally Unique IDentifier,也称GUID)在时间和空间都是唯一的.为保证空间的唯一性,每个UUID使用了一个48位的值来记录,一般是计算机的网卡地址 ...
- hexo博客部署到github无法上传的问题
博客生成之后,按照网上别人的教程,讲项目部署到github上,修改_config.yaml中的deploy部分如下所示: deploy: type: git repository: https://g ...
- 安卓里面JSON处理和JAVA SE里面的JSON包
今天编译安卓项目遇到这个问题 com.android.dex.DexException: Multiple dex files define的解决办法 大致意思就是引用了 相同的包 在JAVA SE里 ...