1.Ctags

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

安装过程:

(1)打开链接:www.vim.org/scripts/script.php?script_id=610,下载完成后进去下载文件夹。

(2)在下载文件夹下通过命令unzip ctags.vim命令解压下载的stags压缩文件,然后通过命令sudo apt install exuberant-ctags命令安装ctags插件。

使用过程:

(1)到自己的源码目录中,如果你的源码是多层的目录, 就去最上层的目录, 在该目录下运行命令: ctags –R,会产生一个名叫tags文件,将该文件拷贝到$HOME/.vim/tags目录下。然后用命令$vim ~/.vim/tags就能看到生成的tags文件中的内容。

(2)在vim中运行命令“:set tags=HOME/.vim/tags/tags,也可以将这个命令放在HOME/.vimrc文件中。当要查询某个函数的定义时,将光标放在该函数上,按<Ctrl+]>键,就会跳转到该函数的定义处,按<Ctrl+t>键是返回。(注意:这里的HOME是指的存放.vim的路径就是你用户名的路径,不仅仅是home这个路径,一般的是要增加你的用户名,类似home/yang/)

这样在使用的时候也会出现一个问题,当你修改程序后, 如果增加了函数定义,或者删除了变量定义, tags文件不能自动rebuild, 你必须手动再运行一下命令:ctags –R。

2.Taglist

列出了当前文件中所有宏、全局变量,函数名等,能高效浏览源码,功能像vc里的workspace。

安装过程:

(1)从网址http://www.vim.org/scripts/script.php?script_id=273下载taglist压缩包。

(2)把解压的两个文件taglist.vim 和 taglist.txt 分别放到HOME/.vim/plugin和HOME/.vim/doc 目录中。

(3)通过命令$vim ~/.vimrc在.vimrc文件中加入下面两句话:

let Tlist_Show_One_File=1

let Tlist_Exit_OnlyWindow=1

使用插件Taglist:

进入vim后,再vim命令模式下输入Tlist命令就能打开taglist窗口。

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

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

关于插件的管理,主要就是通过.vimrc文件来管理vim插件的。通过指令行来使用插件不方便,使用.vimrc文件能够实现自动化或者半自动化的使用插件很方便。

下面是我的vimrc文件,由于现在对于插件的种类、具体的功能还不是很熟悉,而且写的代码太少,也不知道到底有哪些很好用的插件,所以需要管理的插件和用到功能很少。以后学习的过程中也要注意工具的使用,更加熟练的使用工具是提高效率的办法之一。

常用vim插件的安装、使用和管理的更多相关文章

  1. vim插件的安装方式 -- vim注释插件和doxygen函数注释生成插件-ctrlp插件-tabular等号对齐 插件

    使用unzip的时候 指定 -d选项, 是说明解压到的 目标地址. 这个参数还是比较方便的, 比直接unzip到当前目录, 然后在去拷贝到目标目录, 然后再删除当前目录中的解压文件夹, 方便多了. 使 ...

  2. 【linux】vim常用操作及vim插件的安装使用

    vim是linux下一个非常好用的文本编辑器,在linux下开发的人员要熟练掌握vim常用命令. 1.  打开在第n行 vim +143 filename.txt 2. 只读模式打开 vim -R / ...

  3. Vim 插件的安装

    Vim 自带了文本格式化,通过 gg=G 触发.但大数情况下不满足需求,对于特定语言,比如 JavaScript,需要安装相应的插件来实现. 插件的存在形式 Vim 插件以三种形式存在, 单个的 .v ...

  4. vim插件(vim-emmet)安装步骤

    vim安装插件  vim-emmetvim-emmet网址  https://www.vim.org/scripts/script.php?script_id=2981pathogen.vim网址  ...

  5. 常用VIM插件配置

    airline 状态栏美化 除了airline本体还要下airline主题 和打过powerline补丁的字体 常用设置: set laststatus=2 " 总是显示状态栏 set no ...

  6. Vim插件YouCompleteMe安装记录(号称最难装的Vim插件?)

    使用 PulginInstall 安装就不要想了,如果你没有梯子的话 自己的 ssr 被封,使用的同事的 ss,但是同事设置的加密方式在 linux 上的 ss 应用不支持... 好吧,直接上过程 1 ...

  7. vim插件YouCompleteMe安装

    这里在ubuntu16.4下安装的需要提前安装cmake clang python3sudo apt-get install clang  因为不能访问google,安装时,安装go的插件会访问goo ...

  8. 常用Eclipse插件在线安装地址

    Srping IDE http://www.springsource.com/update/e3.5   EasyShellhttp://pluginbox.sourceforge.net   M2E ...

  9. [vundle]利用vundle工具来管理vim插件

    转自:http://os.51cto.com/art/201507/484174.htm Vim是Linux上一款用途广泛的轻量级文本编辑工具.虽然对普通的Linux用户来说开始学用起来难度相当大,但 ...

随机推荐

  1. POJ 2125 Destroying the Graph 二分图最小点权覆盖

    Destroying The Graph Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 8198   Accepted: 2 ...

  2. [LeetCode] Binary Tree Postorder Traversal 二叉树的后序遍历

    Given a binary tree, return the postorder traversal of its nodes' values. For example: Given binary ...

  3. JS组件系列——BootstrapTable+KnockoutJS实现增删改查解决方案(三):两个Viewmodel搞定增删改查

    前言:之前博主分享过knockoutJS和BootstrapTable的一些基础用法,都是写基础应用,根本谈不上封装,仅仅是避免了html控件的取值和赋值,远远没有将MVVM的精妙展现出来.最近项目打 ...

  4. 1229【MySQL】性能优化之 Index Condition Pushdown

    转自http://blog.itpub.net/22664653/viewspace-1210844/  [MySQL]性能优化之 Index Condition Pushdown2014-07-06 ...

  5. sql语句-备忘

    -- 清空全部数据,不写日志,不可恢复,速度极快truncate table 表名; -- 清空全部数据,写日志,数据可恢复,速度慢delete from 表名;   --从一个数据库复制一张表带另一 ...

  6. python基础补漏-06-内置模块

    1> sys 模块 sys.argv 命令行参数List,第一个元素是程序本身路径 sys.exit(n) 退出程序,正常退出时exit(0) sys.version 获取Python解释程序的 ...

  7. js小练习去掉指定的字符组成一句话输出

    今天在codewar做练习题时,要求写一个函数把一个字符串去掉WUB这些多余的字符然后把剩下的组成一句话输出,如传入"WUBAWUBBWUBCWUB"后返回"A B C& ...

  8. NSRunLoop

    1.什么是RunLoop 运行循环 一个线程对应一个RunLoop,主线程的RunLoop默认已经启动,子线程的RunLoop得手动启动(调用run方法) RunLoop只能选择一个Mode启动,如果 ...

  9. OBS MAC 系统开发(基于mac OS X 10.12)

    按照github 上的说明,安装配套软件,和跟踪需要的库 推荐使用homebrew 来安装各种依赖库. 安装Qt后,要配置系统变量 ,这个困扰本人很久:) 成功编译 cmake .. &&am ...

  10. Jquery获取offsetHeight

    纯javascript: window.document.getElementById('MainColumn').offsetHeight jquery: $('#id').get(0).offse ...