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. servlet过滤器使用

    servlet的过滤器夹在用户和servlet之间,可以截获并预处理或者打断{用户到servlet的请求或servlet到用户的响应},但本身并不能处理和响应用户请求. filter类必须实现Filt ...

  2. [LeetCode] Binary Tree Vertical Order Traversal 二叉树的竖直遍历

    Given a binary tree, return the vertical order traversal of its nodes' values. (ie, from top to bott ...

  3. C#创建Excel(.xls和.xlsx)文件的三种方法

    生成EXCEL文件是经常需要用到的功能,我们利用一些开源库可以很容易实现这个功能. 方法一:利用excellibrary,http://code.google.com/p/excellibrary/ ...

  4. Javascript的this用法及jQuery中$this和$(this)的区别

    this是Javascript语言的一个关键字. 它代表函数运行时,自动生成的一个内部对象,只能在函数内部使用.比如, function test(){ this.x = 1; } 1.this就是全 ...

  5. JavaEE学习文章汇总-ssm框架

    Spring-SpringMVC-Mybatis 1:Maven创建webapp项目 Maven 下的spring框架(一创建项目) 2:mybatis3 入门教程 mybatis实战教程(mybat ...

  6. Redux原理(一):Store实现分析

    写在前面 写React也有段时间了,一直也是用Redux管理数据流,最近正好有时间分析下源码,一方面希望对Redux有一些理论上的认识:另一方面也学习下框架编程的思维方式. Redux如何管理stat ...

  7. 阻止pc端浏览器缩放js代码

    阻止pc端浏览器缩放js代码 众所周知:移动端页面禁止用户缩放界面只需加上<meta name="viewport" content="user-scalable= ...

  8. 把url参数转化成一个对象返回

    var readUrlToParams = function () { var url = location.href; var nameValue; var paraString = url.sub ...

  9. Puzzle 面向服务/切面(AOP/IOC)开发框架 For .Net

    Puzzle 面向服务/切面AOP开发框架 For .Net AOP主要实现的目的是针对业务处理过程中的切面进行提取,它所面对的是处理过程中的某个步骤或阶段,以获得逻辑过程中各部分之间低耦合性的隔离效 ...

  10. zookeeper原理解析-客户端与服务器端交互

    Zookeeper集群中server数量总是确定的,所以集群中的server交互采用比较可靠的bio长连接模型:不同于集群中sever间交互zookeeper客户端其实数量是未知的,为了提高zooke ...