vim中taglist使用

【vim】Taglist插件 环境:ubuntu 18.04            vim version 8.0.1453   Taglist是vim的一个插件,提供源代码符号的结构化视图。 下载与安装: 1)从http://www.vim.org/scripts/script.php?script_id=273下载安装包 2)将Taglist安装包解压到 ~/.vim 目录中,解压后会在~/.vim目录中生成几... 阅读详情

 other links:vim插件 ctags 和 taglist 的安装和使用  http://kelaocai.javaeye.com/blog/105853

 

本节所用命令的帮助入口:

:help helptags
:help taglist.txt

上篇文章介绍了在VIM中如何使用tag文件,本文主要介绍如何使用taglist插件。

想必用过Source Insight的人都记得这样一个功能:SI能够把当前文件中的宏、全局变量、函数等tag显示在Symbol窗口,用鼠标点上述tag,就跳到该tag定义的位置;可以按字母序、该tag所属的类或scope,以及该tag在文件中出现的位置进行排序;如果切换到另外一个文件,Symbol窗口更新显示这个文件中的tag。

在VIM中的taglist插件所实现的就是上述类似的功能,有些功能比SI弱,有些功能比SI更强。而且,taglist插件仍在不断完善中!

要使用taglist插件,必须满足:

1. 打开VIM的文件类型自动检测功能;
2. 系统中装了Exuberant ctags工具,并且taglist能够找到此工具(因为taglist需要调用它来生成tag文件);
3. 你的VIM支持system()调用;

在本系列第3篇文章(vimrc初步)中,我们使用了VIM自带的示例vimrc,这个vimrc中已经打开了文件类型检测功能;在上篇文章中,我们也已用到了Exuberant ctags;system()调用在一般的VIM版本都会支持(只有suse Linux发行版中出于安全考虑,关闭了此功能),所以我们已经满足了这三个条件。

现在我们到http://www.vim.org/scripts/script.php?script_id=273下载最新版本的taglist plugin,目前版本是4.3。

下载后,把该文件在~/.vim/目录中解压缩,这会在你的~/.vim/plugin和~/.vim/doc目录中各放入一个文件:

       plugin/taglist.vim – taglist插件

       doc/taglist.txt    - taglist帮助文件

注:windows用户需要把这个插件解压在你的$VIM/vimfiles或$HOME/vimfiles目录。


使用下面的命令生成帮助标签(下面的操作在VIM中进行):

:helptags ~/.vim/doc

生成帮助标签后,你就可以用下面的命令查看taglist的帮助了:

:help taglist.txt

Taglist提供了相当多的功能,我的vimrc中这样配置:

   """"""""""""""""""""""""""""""
   " Tag list (ctags)
   """"""""""""""""""""""""""""""
   if MySys() == "windows"                "设定windows系统中ctags程序的位置
     let Tlist_Ctags_Cmd = 'ctags'
   elseif MySys() == "linux"              "设定windows系统中ctags程序的位置
     let Tlist_Ctags_Cmd = '/usr/bin/ctags'
   endif
   let Tlist_Show_One_File = 1            "不同时显示多个文件的tag,只显示当前文件的
   let Tlist_Exit_OnlyWindow = 1          "如果taglist窗口是最后一个窗口,则退出vim
   let Tlist_Use_Right_Window = 1         "在右侧窗口中显示taglist窗口

这样配置后,当你输入“:TlistOpen”时,显示如下窗口:

在屏幕右侧出现的就是taglist窗口,你从中可以看到在main.c文件中定义的所有tag:宏、定义、变量、函数等;你也可以双击某个tag,跳到该tag定义的位置;你还可以把某一类的tag折叠起来(使用了VIM的折行功能),方便查看,就像图中macro和variable那样。更多的功能,请查看taglist的帮助页,本文也会介绍一些常用功能。


下面介绍常用的taglist配置选项,你可以根据自己的习惯进行配置:

- Tlist_Ctags_Cmd选项用于指定你的Exuberant ctags程序的位置,如果它没在你PATH变量所定义的路径中,需要使用此选项设置一下;

- 如果你不想同时显示多个文件中的tag,设置Tlist_Show_One_File为1。缺省为显示多个文件中的tag;

- 设置Tlist_Sort_Type为”name”可以使taglist以tag名字进行排序,缺省是按tag在文件中出现的顺序进行排序。按tag出现的范围(即所属的namespace或class)排序,已经加入taglist的TODO List,但尚未支持;

- 如果你在想taglist窗口是最后一个窗口时退出VIM,设置Tlist_Exit_OnlyWindow为1;

- 如果你想taglist窗口出现在右侧,设置Tlist_Use_Right_Window为1。缺省显示在左侧。

- 在gvim中,如果你想显示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窗口横向显示;

在taglist窗口中,可以使用下面的快捷键:

<CR>          跳到光标下tag所定义的位置,用鼠标双击此tag功能也一样
o             在一个新打开的窗口中显示光标下tag
<Space>       显示光标下tag的原型定义
u             更新taglist窗口中的tag
s             更改排序方式,在按名字排序和按出现顺序排序间切换
x             taglist窗口放大和缩小,方便查看较长的tag
+             打开一个折叠,同zo
-             将tag折叠起来,同zc
*             打开所有的折叠,同zR
=             将所有tag折叠起来,同zM
[[            跳到前一个文件
]]            跳到后一个文件
q             关闭taglist窗口
<F1>          显示帮助

可以用“:TlistOpen”打开taglist窗口,用“:TlistClose”关闭taglist窗口。或者使用“:TlistToggle”在打开和关闭间切换。在我的vimrc中定义了下面的映射,使用“,tl”键就可以打开/关闭taglist窗口:

map <silent> <leader>tl :TlistToogle<cr>

Taglist插件还提供了很多Ex命令,你甚至可以用这些命令创建一个taglist的会话,然后在下次进入VIM时加载此会话。

Taglist插件还可以与winmanager插件协同使用,这将在下篇文章中介绍。


[参考文档]

1. VIM帮助文件

2. http://vimcdoc.sourceforge.net/

3. taglist帮助文件

[尾记]

本文可以自由应用于非商业用途。转载请注明出处。

原文链接:http://blog.youkuaiyun.com/easwy

Vim Taglist插件:代码浏览与导航的利器 Vim是一款高度可配置的文本编辑器,其强大的插件系统为用户提供了几乎无限的扩展能力。插件可以是简单的脚本,也可以是复杂的程序,用于增强Vim的功能,从而满足程序员的特定需求。Vim插件系统通过使用Vim的脚本语言和API,允许开发者编写插件来实现各种编辑、导航、调试和自动化任务。用户自定义配置文件的编写是Vim插件系统的核心功能之一。通过编写配置文件,用户可以按照自己的使用习惯和需求来调整和增强插件的功能。具体到Taglist插件,自定义配置文件一般位于用户的Vim配置目录下,通常文件名为。 阅读详情

相关推荐

LabVIEW面向对象编程:操作者框架入门实战

本文是LabVIEW面向对象编程中操作者框架的入门实战指南。针对传统“面条式代码”在复杂项目中的维护难题,文章通过创建操作者、定义消息与处理函数、在主VI中调用等步骤,详细演示了如何利用操作者框架构建模块化、易扩展的应用程序架构,有效管理并行任务。

f0g1h2的博客 589

Vim ctags与taglist的使用

Vim编辑器ctags、taglist插件安装与使用

G1orygosu的博客 1696

MATLAB实现灰雁优化算法(GGO):从原理到实战的详细级教程

灰雁优化算法(GGO)是一种新型群体智能算法,模拟灰雁迁徙和觅食行为。算法通过领导更替机制、V形编队飞行和群体觅食策略,平衡全局探索与局部开发能力,具有收敛精度高、避免局部最优等特点。在MATLAB环境中,算法实现包括初始化种群、迭代更新领导雁、执行编队飞行和觅食行为等核心模块。用户可根据问题维度设置参数,通过收敛曲线和可视化分析评估性能。关键参数如领导更替频率、V形编队强度和觅食强度需根据问题复杂度调整,以获得最佳优化效果。该算法适用于各类优化问题,具有较好的鲁棒性和稳定性。

fx666_的博客 1212

用vim+ctags+taglist阅读源码

用vim+ctags+taglist阅读源码不是技术大牛的专利,学会了你也可以。

sinat_41559158的博客 872

别再为PT100测温发愁了!手把手教你用ADS1247+STM32搞定高精度温度采集(附完整代码)

本文详细介绍了如何使用ADS1247与STM32构建高精度PT100测温系统,涵盖硬件设计、SPI配置、温度计算及调试技巧。通过24位ADC和内置PGA,实现0.1℃级精度,适用于工业自动化和医疗设备。附完整代码和常见问题解决方案,助你快速掌握高精度温度采集技术。

weixin_42524703的博客 343

CocosCreator | 自定义启动页之H5

01 效果对比 默认启动页: 自定义启动页: 02 启动页存在的意义 我们在 creator 中的开发的游戏都是基于 cocos engine,所以在展示我们的游戏之前,是必须要先加载 cocos engine,然后才是我们自己的业务代码 流程图如下: 而构建完成后未精简的 cocos engine 代码为 1.9M 如果再加上物理相关代码的话,一共是2M 别忘了,我们自己的首场景也要加载过程哦 所以,从游戏启动,到真...

Valiancer 5895

vim中taglist的用法

想 必用过Source Insight的人都记得这样一个功能:SI能够把当前文件中的宏、全局变量、函数等tag显示在Symbol窗口,用鼠标点上述tag,就跳到该tag 定义的位置;可以按字母序、该tag所属的类或scope,以及该tag在文件中出现的位置进行排序;如果切换到另外一个文件,Symbol窗口更新显示 这个文件中的tag。 在VIM中的taglist插件所实现的就是上述类似的功能

探秘 2397

【生信分析】clusterProfiler: universal enrichment tool for functional and comparative study(1)

clusterProfiler: universal enrichment tool for functional and comparative studyClusterProfiler: 用于功能和比较研究的通用富集工具总览1. 引言1.1 术语1.1.1 基因集和通路1.1.2 基因同源(GO)1.1.3 京都基因与基因组百科全书(KEGG)1.1.4 其他基因集2. 功能富集分析方法2.1 过度表征分析(Over Representation Analysis)2.2 基因集富集分析(Gene Se

小哲的博客 1365

使用VIM开发软件项目 - (5) 使用tag文件和taglist插件 (二)

 新一篇: 在优快云的文章中插入图片function StorePage(){d=document;t=d.selection?(d.selection.type!=None?d.selection.createRange().text:):(d.getSelection?d.getSelection():);void(keyit=window.open(http://ww

air_snake的专栏 859

STM32入门教程:WiFi通信

第四步:初始化串口 在生成的代码中,您可以找到一个名为 "USARTx_Init" 的函数,其中 "x" 是您选择的串口号。然后,我们使用 "AT+CIPSEND" 命令发送UDP数据,接收到服务器的回复,并在终端上显示收到的数据。在配置向导中,您可以选择启用USART串口功能,并根据您的硬件连接,将串口设置为与WiFi模块连接的串口。在上述代码中,我们使用了 "HAL_UART_Receive" 函数来接收串口数据,并使用 printf 来在终端上显示收到的数据。如果有任何问题,请随时向我提问。

2401_85258012的博客 1073

【ArcGIS微课1000例】0118:一文讲清楚tif(geotiff)栅格数据格式

TIFF(Tagged Image File Format)是一种常见的图像文件格式,它被广泛用于存储和传输各种类型的图像数据。图像存储:TIFF格式可以存储多通道的位图图像,包括灰度图、彩色图和透明度图等。它支持不同的像素深度,可以是8位、16位、24位或32位等。因此,TIFF格式非常适合存储高质量的图像数据,包括照片、卫星图像、医学影像等。无损压缩:TIFF格式支持无损压缩,这意味着图像可以被压缩而无需损失任何像素信息。这种压缩方式可以减小文件大小,而不会降低图像的质量。

智慧空间实验室 2819

vim配置之taglist插件安装

上次说了不带插件的vim配置,今天补充两个,来日方长,不定期更新: 首先看一个路径: 下载ctags,将其中的ctags.exe复制到上边目录下边; 地址:https://sourceforge.net/projects/ctags/files/ctags/5.8/ctags58.zip/download 我下载的东西直接在window桌面,直接拖到Linux桌面,然后执行...

weixin_30586085的博客 467

C++软件异常分析概述

本文将详细讲述Windows系统中软件异常的分类以及常用的排查方法,给大家提供一个借鉴与参考。

dvlinker的技术专栏 4万+

VIM安装Taglist

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.youkuaiyun.com/baidu_35679960/article/details/79111140 一、建立 .vimrc文件 由于是把Taglist插件安装在服务器上面,所以我想的尽量Taglist起作用的区域只是我自己的用户目录下,这就涉及到home目录下...

sinat_40025092的博客 860

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Vim使用taglist功能

下载 wget http://www.vim.org/scripts/download_script.php?src_id=19574 -O taglist.zip    然后解压taglist.zip到~/.vim/目录下 在vim中使用如下命令切换taglist显示 :TlistToggle    使用Ctrl+w+w在正常窗口与taglist窗口之...

weixin_33949359的博客 1035

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

taglist vim

<br /> 本节所用命令的帮助入口: :help helptags<br /> :help taglist.txt <br /> 本文主要介绍如何使用taglist插件(plugin)。 <br /> 想必用过Source Insight的人都记得这样一个功能:SI能够把当前文件中的宏、全局变量、函数等tag显示在Symbol窗口,用鼠标点上述tag,就跳到该tag 定义的位置;可以按字母序、该tag所属的类或scope,以及该tag在文件中出现的位置进行

taipingliebeiluo的专栏 550

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

给vim安装taglist

taglist能够列出源文件中的tag(function, class, variable, etc)并跳转.注意:taglist依赖于ctags,所以要先装ctags,否则taglist装了也没法用!(1)到http://vim.sourceforge.net/scripts/script.php?script_id=273下载taglist_42.zip,即http://vim.sourcef

4788

vim安装Taglist(Tlist)插件

一、建立 .vimrc文件 由于是把Taglist插件安装在服务器上面,所以我想的尽量Taglist起作用的区域只是我自己的用户目录下,这就涉及到home目录下的.vimrc文件。普通用户的home目录下一开始是没有.vimrc文件的,没有的话就自己新建一个就行,然后在里面放上如下的内容: set nocp set ru syntax on "语法高亮 set number set t...

十一月zz的博客 1万+

vim插件1--taglist

vim插件1--taglist 功能 提供了源码的结构化浏览功能,可将源码中定义的函数、类、结构体、变量等以树结构显示,层次关系可一目了然,而且于快速定位并查看。 Displays the tags (functions, classes, structures, variables, etc.) defined in a file in a vertically or horizontal...

脚步不能达到的地方,眼光可以达到;眼光不能达到的地方,精神可以飞到 1935

vim插件taglist的安装和使用

【功能】         a source code browser(supports C/C++, java, perl, python, tcl, sql, php, etc): 提供了源码的结构化浏览功能,可将源码中定义的类、函数、变量等以树结构显示,层次关系可一目了然,而且于快速定位并查看。 【下载安装】         taglist插件是以vim脚本的形式存在,因此只需要将其下载

G_BrightBoy的专栏 3万+

vim插件taglist的使用

taglist可以显示文件中的宏,全局变量,函数等。并可以在用户点击tag时切换到tag定义的位置。 要使用taglist插件,必须满足:打开vim的文件类型自动检测功能;系统中装有ctags,并taglist能够找到此工具;你的vim支持system调用; 下载并解压taglist包后,里面包含doc,plugin目录.把这个目录中的文件拷贝到vim相应的目录中.

郭海朋的专栏 1294

vim下ctags+taglist环境的搭建

随着学习的深入,我们所看代码越来越庞大,这令我们在查找某个函数时特别头疼,下来我们一起学习下vim下的还将搭建:ctags优点ctags可以对文件生成tags标签,达到快速查找的效果。ctags可以定位的类型: 1)用#define定义的宏 2)枚举型变量的值 3)函数的定义、原型和声明 4)名字空间(namespace) 5)类型定义(typedefs) 6)变量(包括定义

Dandelion_gong的博客 5946
上一篇: GDB attach 用法
下一篇: how to show source code when using gdb
ecjtuync
博客等级 码龄20年 157粉丝 164原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值