vim 插件 -- ctags
vim ctags 插件实现代码跳转的功能。希望在一个项目中快速的找到函数,变量,宏等定义的地方。
下载
安装
tar -jxvf ctags-5.8.tar.gz
cd ctags-5.8
vim INSTALL (在这里可以看到如何安装ctags,没有兴趣的可以不看这步)
./configure
make
sudo make install
使用&配置
使用
1、生成tags文件
cd ~/testCode/
/usr/local/bin/ctags -R ./ (这里指定了全路径是因为安装了多个ctags,所以需要指定哪个版本。)
如果是C++工程,建议使用 ctags -R --c++-kinds=+p --fields=+ialS --extra=+q ./
命令完成后就会产生一个tags文件。ctags 插件就是根据这个文件来进行函数定位的。
2、打开一个文件,然后选定任意一个函数或者变量,使用 ctrl + ] 就可以跳转到该函数或者变量定义的地方。
3、ctrl + t 跳回去
配置 (可以直接复制到 ~/.vimrc)
"ctags config
"设置tags文件路径,这样不管在哪用vim打开代码都可以跳转了。
"如果不设置,那么就必须在有tags文件的目录才能跳转
set tags=/code/svn/study/trunk/tags
"实现自动递归查找功能,但是我在set tags 之后就可以实现递归查找了。
"有可能是因为我的tags是在项目根目录下生成的有关。先记录,如果
"不能实现递归跳转可以添加上试试。建议tags文件都在项目根目录下生成。
"set autochdir
"set tags=tags;
命令总结
ctags -R * (生成tags文件。建议在项目的根目录下生成tags文件,因为ctags要实现整个项目跳转就需要项目根目录下有这个文件。)
vim -t 函数名或者变量名
ts (tagslist, 可以列出当前跳转的所有结果)
tp (tagspreview, 跳转到上一个)
tn (tagsnext,跳转到下一个)
ctrl + ] (跳转)
ctrl + t (跳回到最初的地方)
报错
ctags -R ./
ctags: Failure on attempt to read file : Is a directory
当前目录下有一个tags的目录,删除或者改名即可。
其他
ctags -R ./ 命令是默认只包含C语言的语法分析。
如果需要支持C++语法分析,需要用如下命令:
ctags -R --c++-kinds=+p --fields=+iaS --extra=+q ./
如果有echofunc插件来显示函数的参数定义插件。那么需要用如下命令:
ctags -R --fields=+lS ./
建议直接使用:
ctags -R --c++-kinds=+p --fields=+ialS --extra=+q ./
参考
https://blog.csdn.net/kang99827765/article/details/39430433
vim 插件 -- ctags的更多相关文章
- vim插件ctags的安装和使用
vim插件ctags的安装和使用 2013-11-19 20:47 17064人阅读 评论(0) 收藏 举报 分类: 开发工具(3) linux编程(9) c/c++编程(11) 版权声明:本 ...
- 使用VIM插件ctags来阅读C代码
说明 Ctags是vim下方便代码阅读的工具.尽管ctags也可以支持其它编辑器,但是它正式支持的只有vim.并且vim中已经默认安装ctags,它可以帮助程序员很容易地浏览源代码:ctags最先是用 ...
- vim插件ctags的安装与使用
LINUX系统下看程序或者编程序时,看到一个函数经常需要知道该函数的定义,这时ctags就派上用场了,其安装和使用方法如下: 安装方法: sudo apt-get install ctags (ubu ...
- vim插件ctags的安装和使用【转】
本文转载自:http://blog.csdn.net/g_brightboy/article/details/16830395 [ctags功能]: 为源码的变量/对象.结构体/类.函数/接口.宏等产 ...
- 常用vim插件的安装、使用和管理
1.Ctags Ctags工具是用来遍历源代码文件生成tags文件,这些tags文件能被编辑器或者其他工具用来快速查找定位源代码中的符号,入变量名,函数名等.比如,tags文件就是Taglist和 ...
- VIM插件攻略
工欲善其事,必先利其器.一个强大的开发环境可以大大提高工作效率.好吧,我知道这是废话...不过,我想一定有很多跟我一样打算进入Linux平台开发的新手,一开始都为找不到一个像Windows下的VS那样 ...
- 将Vim改造为强大的IDE—Vim集成Ctags/Taglist/Cscope/Winmanager/NERDTree/OmniCppComplete(有图有真相)(转)
1.安装Vim和Vim基本插件首先安装好Vim和Vim的基本插件.这些使用apt-get安装即可:lingd@ubuntu:~/arm$sudo apt-get install vim vim-scr ...
- vim 插件管理
1 进入自己的vim mkdir ./bundle/vundle 2 在vimrc同级中执行 git clone https://github.com/gmarik/vundle.git ./bund ...
- 「个人vim插件+配置」
2016.10.4 filetype indent on syntax on set nu ai ci si set sw= ts= set autochdir set backspace= colo ...
随机推荐
- Elasticsearch 快速入门教程
面向文档 应用中的对象很少只是简单的键值列表,更多时候它拥有复杂的数据结构,比如包含日期.地理位置.另一个对象或者数组. 总有一天你会想到把这些对象存储到数据库中.将这些数据保存到由行和列组成的关系数 ...
- git 如何删除已经add的文件
git rm --cached "文件" 参考: https://blog.csdn.net/kiss_the_sky/article/details/77921206
- Android签名文件转化为pk8和pem来对apk重签名
当我们需要修改已经打包好的apk中的某个文件时,比如改下图标,我们势必要采用反编译apk,改文件,重编译apk,重签名才行,参考:https://www.cnblogs.com/zndxall/p/9 ...
- rosetta对称性文件(rosetta symmetry file)的产生及应用
针对对称性PDB 3UKM,使用make_symmdef_file.pl脚本,可以执行产生对称单元及对称文件: $> $ROSETTA3/src/apps/public/symmetry/mak ...
- pyCharm添加自己的快捷代码
1.首先打开pyCharm 2.打开Settings 3.输入live点击打开 Templates 4.选中python点击"+"号 5.选择Live Template 6.以打开 ...
- [Android] TextView上同时显示图标和文字
需求场景 +----------------------------+ | Icon TEXT | +----------------------------+ 当然,可以使用LineLayout,包 ...
- Netty返回数据丢包的问题之一
这个问题是在一个群友做压力测试的时候发现的.使用客户端和netty创建一条连接,然后写了一个for循环不停的给服务器发送1500条信息,发现返回只有几百条.另外几百条不知道哪去了.查看代码,发现在服务 ...
- jw player 配置参数
Loading the player … //player所在div //具体配置参数 jwplayer(“container”).setup({//通过js调用播放器并安装到指定容器(contain ...
- 怎样从外网访问内网Sysbase数据库
外网访问内网Sysbase数据库 本地安装了Sysbase数据库,只能在局域网内访问,怎样从外网也能访问本地Sysbase数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Sys ...
- Python之循环
目标 程序的三大流程 while 循环基本使用 break 和 continue while 循环嵌套 一 程序的三大流程 在程序开发中,一共有三种流程方式: 顺序 —— 从上向下,顺序执行代码 分支 ...