vim下的ctags和taglist等的使用和配置
tar zxvf ctags-5.6.tar.gz
cd ctags-5.6
./configure && make && make install
l 枚举型变量的值
l 函数的定义、原型和声明
l 名字空间(namespace)
l 类型定义(typedefs)
l 变量(包括定义和声明)
l 类(class)、结构(struct)、枚举类型(enum)和联合(union)
l 类、结构和联合中成员变量或函数
VIM用这个"tags"文档来定位上面这些做了标记的对象
快捷键:
<2> 在函数中移动光标
[{ 转到上一个位于第一列的"{"
}] 转到下一个位于第一列的"{"
{ 转到上一个空行
} 转到下一个空行 ([ and ] 也分别是两个指令)
gd 转到当前光标所指的局部变量的定义
* 转到当前光标所指的单词下一次出现的地方
# 转到当前光标所指的单词上一次出现的地方
$ cd taglist
$ tree
|-- doc
| `-- taglist.txt
`-- plugin
`-- taglist.vim
cp doc/taglist.txt /usr/share/vim/vim72/doc/ --taglist 帮助文件
cp plugin/taglist.vim /usr/share/vim/vim72/plugin/ -- taglist 插件
let Tlist_Show_One_File=1 "不同时显示多个文件的tag,只显示当前文件的
let Tlist_Exit_OnlyWindow=1 "如果taglist窗口是最后一个窗口,则退出vim
let Tlist_Use_Right_Window = 1 "在右侧窗口中显示taglist窗口
"let Tlist_Use_SingleClick= 1 " 缺省情况下,在双击一个tag时,才会跳到该tag定义的位置
let Tlist_Process_File_Always=1 "taglist始终解析文件中的tag,不管taglist窗口有没有打开
ctrl+w+w
在tags区域中,把光标移动到变量、函数名称上,然后敲回车(或者是双击某个tag),就会自动在正常编辑区域中定位到指定内容了。
o 在一个新打开的窗口中显示光标下tag
(空格)显示光标下的tag的原型定义,在vim
u 更新taglist窗口中的tag
s 更改排序方式,在按名字排序和按出现顺序排序间切换
x taglist窗口放大和缩小,方便查看较长的tag
+ 打开一个折叠,同zo
- 将tag折叠起来,同zc
* 打开所有的折叠,同zR
= 将所有tag折叠起来,同zM
[[ 跳到前一个文件
]] 跳到后一个文件
q 关闭taglist窗口
显示帮助
filetype plugin on
set completeopt=menuone
let NERDShutUp=1
"支持单行和多行的选择,//格式
map ,c
这样的话,在光标所在行上,按下一次ctrl+h是注释,再按下一次是取消注释。
* ,cc,注释当前行
* ,c,切换注释/非注释状态
* ,cs,以”性感”的方式注释
* ,cA,在当前行尾添加注释符,并进入Insert模式
* ,cu,取消注释
* Normal模式下,几乎所有命令前面都可以指定行数
* Visual模式下执行命令,会对选中的特定区块进行注释/反注释
map fn: DoxAuthor
map fl: DoxLic
let g:DoxygenToolkit_licenseTag="My own license\"
let g:DoxygenToolkit_undocTag="DOXIGEN_SKIP_BLOCK"
let g:DoxygenToolkit_briefTag_pre = "@brief\t"
let g:DoxygenToolkit_paramTag_pre = "@param\t"
let g:DoxygenToolkit_returnTag = "@return\t"
let g:DoxygenToolkit_briefTag_funcName = "no"
let g:DoxygenToolkit_maxFunctionProtoLines = 30
这样在vim的normal模式下,将光标放到文件的头部,按下fn就会对文件加上文档注释
:AS splits and switches
:AV vertical splits and switches
:AT new tab and switches
:AN cycles through matches
:IH switches to file under cursor
:IHS splits and switches
:IHV vertical splits and switches
:IHT new tab and switches
:IHN cycles through matches
vim下的ctags和taglist等的使用和配置的更多相关文章
- vim下使用ctags+taglist
好几年前用过,但是后来就生疏了,好其次都没法鼓起勇气再捡起来...今天不得不用,那既然捡起来了,就好好的记录一下. 简介及安装 ctags是一个应用程序,可以用它来生产当前目录下所有c文件中变量和函数 ...
- vim Ctags 和taglist安装和使用
Ctags是一个用于从程序源代码树产生索引文件(或tag文件),从而便于文本编辑器来实现快速定位的实用工具.在产生的tag文件中,每一个tag的入口指向了一个编程语言的对象.这个对象可以是变量定义.函 ...
- Linux 核心阅读工具vim+ctags+cscope+taglist
今天.介绍vim+ctags+cscope+taglist的内核阅读配置. 当使用过之后,我相信大部分人都会舍弃之前的Eclipse(我就是活生生的一个样例).我们先来看看实现的界面是怎么样的: 我们 ...
- vim配置之——ctags与TagList的配置以及NERDTree && doxygentoolkit的安装
参考(2)vim插件:显示树形目录插件NERDTree安装 和 使用 本文档主要对Linux下vim的ctags,TagList,NerdTree与doxgentoolkit进行相关的配置. 以下部分 ...
- vim(5)vim下wimrc的配置,解决中文乱码问题
解决linux下vim乱码的情况:(修改vimrc的内容) 全局的情况下:即所有用户都能用这个配置 文件地址:/etc/vimrc 在文件中添加: ,ucs-bom,gb18030,gbk,gb231 ...
- Env:ctags和Taglist安装与配置
注:文章参照http://blog.csdn.net/vaqeteart/article/details/4146618 想必用过Source Insight的人都记得这样一个功能: SI能够把当前文 ...
- vim下使用YouCompleteMe实现代码提示、补全以及跳转设置
配置YouCompleteMe 1. 安装vundle vundle是一个管理vim插件的工具,使用vundle安装YouCompleteMe比较方便. 按照作者在https://github.com ...
- vim学习日志(5):vim下wimrc的配置,解决中文乱码问题
解决linux下vim乱码的情况:(修改vimrc的内容) 全局的情况下:即所有用户都能用这个配置 文件地址:/etc/vimrc 在文件中添加: ,ucs-bom,gb18030,gbk,gb231 ...
- MAC OSX 下安装 CTAGS
由于本子跟风换了骚货MBP,因而开发要迁移到MAC OSX下,mac os 下的ctags不一样,所以需要自己编译一个 Lion内置了ctags,但是不我所需要,因此得在网上去弄,最新的版本是 5 ...
随机推荐
- 自动化统一安装部署tomcat
背景:多台服务器来回切换,安装部署tomcat,浪费时间 目的: 一次修改,统一安装,统一部署. 进程:ps -ef|grep tomcat|grep -v 'grep'|awk '{print $2 ...
- 关于XSuperMES项目使用的PDF框架
我在曾经的项目中使用的是pdfbox.在读取中文文档时能够读出大部分的文字,可是在数字.分页等地方还是不可避免的出现乱码. 于是我在网上搜索,看有没有什么解决方法.看到有说法: "PDFBo ...
- SQLserver备份数据库示例
BACKUP DATABASE [yee]TO DISK = N'D:\数据库备份\yee2015.9.11.bak'WITH NAME = N'yee - 备份', NOFORMAT, NO ...
- 解决zabbix“ZBX_NOTSUPPORTED: Timeout while executing a shell script”报错
如题所示,在zabbix_server使用zabbix_get获取自定义“UserParameter”对应的脚本的数据时,出现了如题所示的报错信息 [root@nmp01 scripts]# /usr ...
- CLR 完全介绍
From: http://msdn.microsoft.com/zh-cn/magazine/cc164193.aspx http://msdn.microsoft.com/en-us/magazin ...
- jquery的json的遍历
jquery遍历解析json对象1: var json = [{dd:'SB',AA:'东东',re1:123},{cccc:'dd',lk:'1qw'}]; for(var i=0,l=json.l ...
- 模拟和数字低通滤波器的MATLAB实现
低通滤波器参数:Fs=8000,fp=2500,fs=3500,Rp=1dB,As=30dB,其他滤波器可以通过与低通之间的映射关系实现. %%模拟滤波器 %巴特沃斯——滤波器设计 wp=2*pi*2 ...
- Eclipse Plugin Installation and Windows User Access Control
I make Eclipse Plugins and I sell them to developers using Eclipse. Most of the visitors to my web s ...
- TouchSlide - 大话主席
http://www.superslide2.com/TouchSlide/downLoad.html 首 页如何使用查看参数案例演示下载页面交流反馈SuperSlide TouchSlide - ...
- applicationContext-XXX.xml和XXX-servlet.xml的区别
1.ApplicationContext.xml 是spring 全局配置文件,用来控制spring 特性的 2.dispatcher-servlet.xml 是spring mvc里面的,控制器. ...