Linux下编程辅助工具vim+ctags+taglist+cppcomplete+cscope+global

vim+ctags+cscope+Taglist+NERDTree打造成SourceInsight Vim神器,将Vim改造为强大的IDE 阅读详情

各个工具的主要功能:

vim:这个是Linux下功能十分强大的编辑器,就不说了。
ctags:生成tag文件的命令,这个是其它工具的基础。
taglist:需要ctags的支撑,直接在左边列出函数列表,全局参数列表。
cppcomplete:需要ctags的支撑,可以补全类型或者函数名。
cscope:比较强大,可以对函数以及部分类型定义进行跳转,其实cscope是用来替代ctags功能的。
global:貌似和cscope,taglist功能一样,据说对于大型的工程表现不错。

各个工具的安装:
1)vim,ctags,cscope,global,在系统安装时安装,或者使用yum安装。
2)从下面地址下载vim的cscope插件,并放到相应目录下,如~/.vim/plugin/

http://cscope.sourceforge.net/cscope_vim_tutorial.html
2)taglist,cppcomplete是Vim的插件,从下面地址获得,然后放到vim相应目录下即可。

http://www.vim.org/scripts/script.php?script_id=273
http://www.vim.org/scripts/script.php?script_id=527

各个工具的使用:
1)ctags的使用
在终端运行如下命令,将生成文件tags:
ctags *.cpp
要生成cppcomplete需要的tags文件的话,需要运行下面的命令:
 ctags -n -f cppcomplete.tags --fields=+ai --C++-types=+p * -L cscope.files
 注意,我在最后使用了参数"-L cscope.files" 这仅仅是借用拉cscope生成的文件索引来帮助ctags去查询相关工程文件生成tags。
2)使用taglist
taglist的功能是即时生成当前文件的函数列表和全局变量列表,便于索引。
在vim中命令模式下使用:
Tlist 打开或者关闭当前文件的索引;
TlistSync 立即在打开的索引窗口中定位当前的光标所在位置属于哪个函数或者结构定义中。
3)使用cppcomplete
使用很简单,就是在你需要补全类型成员时,按F8键就可以啦。
The default key mapping to complete the code are:

Alt+l in insert mode will try to find the possible completions and display them in a popup menu. Also normal completions to the names in cppcomplete.tags.
Alt+j in insert mode will show the popup menu with the last results. Selecting one of the  items will paste the text.
F8/F9 will work in a similar way as Ctrl+N, Ctrl+P in unextended vim so the script can be used without the popup menu.
F5 in insert mode will lookup the class and display it in a preview window

The key mapping are only tested under Windows and linux and they will not work on all platforms. Changing the mappings is easy.
4)使用cscope
cscope的tag生成最简单的方法是:
在你的开发工程的最上层目录执行cscope-indexer,它会遍历下面的所有目录,生成两个文件,一个是cscope.files,这个文件记录需要生成tags的文件名,可以手工修改,另一个是cscope格式的tags文件cscope.out。
完成后,就可以使用Ctrl-]跳转查找类型定义了。
5)使用global
在工程的最上层目录执行命令:
gtags
等待它完成所有需要的global自己格式的tags的生成。生成完后,可以用如下命令查询相关类型引用和关联关系:

代码:

Gtags xxxx 查找xxxx的定义
Gtags -r xxxx 查找xxxx的引用
Gtags -s xxxx 查找xxxx出现的地方
有时它无法正常分析的类型 可以试试用带-s 的参数的方式找找类型定义。

vim-auto-popmenu:自动显示完成菜单(下一个AutoComplPop)! vim-自动弹出菜单 一个纤巧且可移植的脚本(169行),可为您提供YouCompleteMe般的buffer , dictionary和tags完成体验,而无需安装繁重的完成引擎和构建后台服务器。 它是什么 ? 语义补全很棒,但是有时候,当您在缺乏LSP支持的晦涩的laguange中进行编码时,或者在临时系统中工作时,又不想浪费时间来设置重量级的补全引擎并建立背景服务器。 在这种情况下,vim的内置补全系统足以满足您的需要,它可以从缓冲区和字典或ctag文件中收集关键字,但是需要您手动按<cn>或<cx><ck> 。 这个小巧的小脚本将帮助您在输入1或2个字母时触发完成菜单,并为您提供与YouCompleteMe完全相同的体验: 特征 自动弹出完成菜单。 Tab或shift + TAB键循环关键字, <ce>取消。 同样的体验,如YouCompleteMe的buffer , d 立即下载

相关推荐

反制反心理特征的研究

抓牛股

m0_58032574的博客 908

vim-auto-popmenu:为Vim编辑器带来智能自动补全体验

vim-auto-popmenu:为Vim编辑器带来智能自动补全体验 项目介绍 在编程过程中,自动补全功能可以大幅提高开发效率。vim-auto-popmenu 是一款轻量级的Vim脚本插件,旨在为用户提供类似于 YouCompleteMe 的智能自动补全体验,而无需安装重量级的补全引擎和构建后台服务器。适用于那些缺乏语言服务器协议(LSP)支持的冷门语言或临时系统环境。 项目技术分析 vim-a...

gitblog_00009的博客 752

中介效应、调节效应与交互效应:从概念辨析到统计建模全指南

在社会科学与数据分析研究中,理解变量之间的因果关系与条件性影响是核心任务之一。回归分析作为最基础的统计工具,常被用于探索自变量对因变量的作用机制,而中介效应与调节效应则分别回答了“如何影响”与“何时影响不同”的深层问题。中介效应通过路径分析拆解因果链条,揭示内部的传导机制;调节效应则借助交互项识别影响的边界条件。Bootstrap法已成为检验间接效应的主流手段,而简单斜率分析则让调节作用的模式更加直观。无论是用户研究、医学统计还是产品数据分析,掌握这些模型都能帮助研究者构建更具解释力的实证框架。本文基于大量

weixin_29051149的博客 331

vim的vim-auto-popmenu的`tab`冲突,要注意编码

这是skywind3000大牛写的. 但是会与snipmate的补全冲突.得小心.想办法匹配.

个人进步之路 718

告别130MB/s瓶颈!用Zynq+NVMe实现1.2GB/s高速存储的PL数据分流实战

本文详细介绍了如何通过Zynq+NVMe实现1.2GB/s高速存储的PL数据分流方案,突破传统Zynq架构130MB/s的瓶颈。文章分享了PL直连NVMe的硬件架构设计、软件栈优化及性能调优实战技巧,帮助开发者实现高速数据流的稳定存储。

weixin_42653691的博客 372

TIBCO Spotfire 入门指南

数据分析工具 - TIBCO Spotfire 入门指南(一) 文章目录数据分析工具 - TIBCO Spotfire 入门指南(一)前言一、Sportfire 是什么?二、使用Sportfire 创建一个简单的数据分析模型1.设置分析(加载数据)2.编辑数据源3.创建图表3.1 创建交叉表3.2 创建饼图3.3 创建树形图3.4 创建散点图3.5 创建自定义筛选器总结 前言 通过对本指南的学习,你可以了解到如何开始用TIBCO Sportfire分析数据,并能详细了解您可以做什么以及怎么做 一、Spo

kaiakai111的博客 1万+

vim + ctags + taglist + cscope + cppcomplete + global 使用初探zz

vim + ctags + taglist + cscope + cppcomplete + global 使用初探zz2007年01月02日 星期二 22:19 由于本人比较喜欢在终端状态下的vim,所以gvim下的扩展使用的不多。这里介绍的也是我简单的使用以上扩展的一点点体会。请大家指正。 emacs

EndAll的专栏 2145

R语言笔记十:独立性检验函数

1.独立性检验函数        独立性检验是根据频数信息判断两类因子彼此相关或相互独立的假设检验。所谓独立性就是指变量之间是独立的,没有关系。 独立性检验算法:卡方检验、Fisher检验、Cochran-Mantel-Haenszel检验 2.假设检验 假设检验(Hypothesis Testing)是数理统计学中根据一定假设条件由样本推断总体的一种方法。 原假设——没有发生 备择假设——发生了 具体做法:根据问题的需要对所研究的总体作

weixin_44384631的博客 4111

让`vim-auto-popmenu`适应`snipmate`的tab键

为啥要这样做,还是因为两个的tab键冲突了.要改. 在apc.vim里面改成这样: if s:meets_keyword(context) imap <buffer><tab> <c-n> imap <buffer><f7> <c-p> silent! call feedkeys("\<c-n>", 'n') #当有满足条件时,加上映射 接着: function! s:complete_done() "这里

个人进步之路 549

【推荐100个unity插件之27】推荐5种办法实现unity人物布料系统 衣服裙子飘动 头发飘动 胸部抖动 骨骼模拟 配件摆动 尾巴摆动 —— 主要是Magica Cloth 2插件

要实现Unity中的人物布料系统并使其具备动态效果,可以探索多种技术方法。这些方法不仅可以使衣服、裙子、头发等元素自然飘动,还可以实现胸部抖动、骨骼模拟、配件摆动和尾巴摆动等细致效果。本文将深入探讨五种实现这些动态效果的技术方案,从基础的物理模拟到高级的动画控制,帮助你打造逼真的人物表现。本文主要探究Magica Cloth 2的使用,因为我想探究最好的实现方法,而不是探究最多的实现方法。

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 6305

A算法的蒙特卡洛树搜索

A*算法的蒙特卡洛树搜索 作者:禅与计算机程序设计艺术 1. 背景介绍 在人工智能和游戏开发领域,搜索算法是一个非常重要的研究方向。其中A算法和蒙特卡洛树搜索是两种广泛应用的经典算法。A算法是一种启发式搜索算法,通过评估各个节点到目标节点的启发式代价来引导搜索方向,在

AI天才研究院 1747

vim + ctags + taglist + cscope + cppcomplete + global 使用初探

From:http://www.lpi-china.org/bbs/viewthread.php?tid=3485Linux下编程辅助工具vim+ctags+taglist+cppcomplete+cscope+global各个工具的主要功能: vim:这个是Linux下功能十分强大的编辑器,就不说了。 ctags:生成tag文件的命令,这个是其它工具的基础。 taglist:需要ctags的

fatsandwich的专栏 1163

微调大模型如何准备数据集——常用数据集,Alpaca和ShareGPT

在大模型微调中,我们一般使用Alpaca 和 ShareGPT和两种格式的数据集。

Science prince的博客 1096

vim+ctags+taglist+cscope+cppcomplete+global 环境搭建

、大体感觉,(因为使用时间不长,不全面)总体使用的感觉定位查找类型定义基本可以用,但自动补全类型方面由于ctags的功能有限,感觉在大工程时,不一定很好用。大型程序一定要global的参与,它的分析比较全面,但在vim中的提示信息有限。taglist 精干,需要ctags的支撑 ,直接可以在左边列出函数列表,全局参数列表。(可以排序)cscope 比较强大,可以对函数以及部分类型定义进行跳转,但有

少帅的天空 1755

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

【vim】安装linux开发环境(vim + ctags + taglist + cscope + cppcomplete + global )

转载: http://blog.youkuaiyun.com/huangxiansheng1980/article/details/5819060 以vi为基础构造我的Linux开发环境。“VIM或EMACS做编辑器,GCC做编译器, automake做工程,doxygen做文档,cvs做管理”,这大概也是我希望的吧。另外有人提到svn,说是cvs的替代者。   安装步骤

shuhuai007的专栏 1464

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

安装linux开发环境(vim + ctags + taglist + cscope + cppcomplete + global )

以下内容摘自: http://www.jcwcn.com/html/Linux/21_10_53_771.htm以vi为基础构造我的Linux开发环境。“VIM或EMACS做编辑器,GCC做编译器, automake做工程,doxygen做文档,cvs做管理”,这大概也是我希望的吧。另外有人提到svn,说是cvs的替代者。 安装步骤 1. 安装gcc等; done in 《Ubuntu安装笔记》. 2. 升级vi到vim; done in 《Ubuntu安装笔记》. 3. 安装ctags; #sudo ap

huangxiansheng1980的专栏 4072

打造我的Linux开发环境

之前只是少少的使用过vi,cscope,taglist和sourceNav,用的都不怎么熟悉。这次先了解一下目前Linux下流行的开发环境(参考1),最后还是决定以vi为基础构造我的Linux开发环境。“VIM或EMACS做编辑器,GCC做编译器, automake做工程,doxygen做文档,cvs做管理”,这大概也是我希望的吧。另外有人提到svn,说是cvs的替代者,有机会可以看看http:/

shawnrong的专栏 1785

将Vim改造为强大的IDE—Vim集成Ctags/Taglist/Cscope/Winmanager/NERDTree/OmniCppComplete(有图有真相)

转自:http://blog.youkuaiyun.com/bokee/article/details/6633193 工欲善其事,必先利其器。一个强大的开发环境可以大大提高工作效率。好吧,我知道这是废话。。。不过,我想一定有很多跟我一样打算进入Linux平台开发的新手,一开始都为找不到一个像Windows下的VS那样可以一键安装并且功能几乎完美无缺的开发工具而郁闷不已,甚至打算收回刚刚迈出的脚步。

smilestone322的专栏 381

Linux下阅读源代码:(g)vim+Taglist+ctags

很多人都抱怨Linux下阅读源代码很不方便,说还是习惯于WIn下看代码,即便是编写Linux下的程序,也是先在Win下编写好,然后在Linux下编译。 很多人习惯于Win下的IDE或者其他文本编辑器如UE,或者其他文本比较工具。这些工具固然是好,可是实际上这些软件都是需要fee的,而不是free的。我这个人比较吝啬,不愿意化这些冤枉钱,再者,加上本人有耻于无限盗版破解,所以呢就选择了免费的午

hello_kitty8888的专栏 1550

使用vim来代替source insight

vim + ctags + taglist + cscope + cppcomplete + global 使用初探 相关的扩展的安装 代码: apt-get install exuberant-ctags cscope global cppcomplete 和 taglist 要到www.vim.org的扩展列表中下载。 taglist 的下载地址: http...

kakukemeit的专栏 424

Linux--19:Linux下查看大型代码的工具【MARK】

我用下来的感觉是(在debian sid中) (g)vim + ctags + taglist + cscope + cppcomplete + global 大型程序一定要global的参与,它的分析比较全面。 taglist 精干,需要ctags的支撑 ,直接可以在左边列出函数列表,全局参数列表。(可以排序) cscope 比较强大,可以对函数以及部分类型定义进行跳转,但有些B

HappyJandun's 学习笔录 1119

vim插件安装

1.安装vim插件管理器 第一次使用插件推荐安装插件管理器,它可以简化我们安装插件的步骤。 1.下载 plug.vim 文件,根据操作系统不同,放置在以下autoload目录中: Linux: ~/.vim/autoload Windows: ~\vimfiles\autoload\plug.vim plug.vim地址:https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim 2.目录结构如下,之后安装的插件将存放在plugg

专注于C/C++/Linux领域创作 1万+

vim+ctags+taglist+cscope

一、ctags安装与使用 1、安装c

peijian1998的专栏 784

Vim 超轻量级代码补全系统

4024 年了,应该尝试些新东西,这里介绍一个超级轻量级(169 行代码)的代码补全系统,针对:历史输入,字典,tags 等多个源提供类似 YouCompleteMe 的操作体验,并且无需安装各种后端的补全 LSP 服务器。语义补全是很爽,但有时候,当你用某些缺乏 LSP 支持的小众语言写代码时,或者你去到一台临时的服务器上工作时,你并不想花时间编译和设置一套复杂的补全系统。

Skywind Inside 961
上一篇: printk的那点事
下一篇: Linux下ar、nm命令用法小结
neverforgetZYP
博客等级 码龄18年 6粉丝 6原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值