安装和使用Vim+Taglist+Ctags+cppcomplete+SuperTab
2012-10-17 08:50
441 查看
Taglist和Ctags介绍
Taglist是Vim的源代码浏览插件,提供了在Vim中查看文件中包含的函数列表和类的方法类表的功能。Taglist功能的实现要依赖于Ctags。Ctags是一个用于产生代码索引文件的插件,其产生的索引文件用于帮助文本编辑器或其他工具快速,准确定位符号在代码文件中的位置。Ctags可以支持很多很多语言。。。
安装Ctags?
推荐使用Exuberant Ctags,其下载网址是 http://ctags.sourceforge.net/ .
下载了源代码 ctags-**.tar.gz后解压缩,切换到其目录进行编译,安装
1../configure
2.make
3.suod make install
至此,Ctags安装完成。
安装Taglist
1.在 http://www.vim-taglist.sourceforge.net/screenshots.html 下载最新版的Taglist软件包。
2.在个人用户目录下创建 .vim 目录,将taglist_**.zip中的内容解压到该目录。
3.进入Vim,在命令模式下输入命令 " helptags~/.vim/doc "即可完成Taglist的安装。
4.输入命令“ Tlist ”检查是否安装成功。
把Ctags和Taglist联系起来
安装好Ctags和Taglist后,需要把它们联系起来。
修改 ~/.vim/plugin/taglist.vim 文件,找到
if !exists(‘loaded_taglist’)
这一行,在其前面添加
let Tlist_Ctags_Cmd="/usr/bin/ctags"
OK,Vim+Taglist+Ctags安装完成!下面介绍如何使用使用 Vim+Taglist+Ctags 阅读代码!
使用Ctags和Taglist
1. 生成tags文件
在目录树的根目录里,使用命令:ctags -R 或 ctags –recurse
如: ctags -R src/* ,则会在当前目录下生成 tags 文件
要生成 cppcomplete 需要的 tags 文件的话,需要运行下面的命令:
ctags -n -f cppcomplete.tags –fields=+ai –C++-types=+p * -L cscope.files
注意,参数"-L cscope.files" 仅仅是借用了cscope生成的文件索引来帮助ctags去查询相关工程文件生成tags。
2. 编辑 vim 配置文件 .vimrc
在 .vimrc 文件中添加:
set tags=tags;
set autochdir
注: 第一个命令里的分号是必不可少的。这个命令让vim首先在当前目录里寻找tags文件,如果没有找到tags文件,或者没有找到对应的目标,就到父目录 中查找,一直向上递归。因为tags文件中记录的路径总是相对于tags文件所在的路径,所以要使用第二个设置项来改变vim的当前目录。
当然你如果想直接使用绝对路径,这样也是可以的:
set tags=/home/xxx/myproject/tags
另外,在 Vim 配置文件 ~/.vimrc 中添加:
filetype plugin on
"let Tlist_Ctags_Cmd = ‘/usr/bin/ctags’ “设置ctags命令目录
let Tlist_Show_One_File = 1 "不同时显示多个文件的tag,只显示当前文件的
let Tlist_Exit_OnlyWindow = 1 "如果taglist窗口是最后一个窗口,则退出vim
"let Tlist_Use_Right_Window = 1 “让taglist窗口在右侧显示
3. 打开 Vim 前使用命令 ctags -R 产生tags文件, Vim 在启动时会自动查找并加载tags文件。
打开 Vim 之后,使用命令 :Tlist 激活 Taglist; 按两次 Ctrl + W 在两个窗口来回跳转;Ctrl + ] 或 回车键 查看函数定义(前者在 Taglist 窗口显示, 后者在源文件窗口显示), Ctrl + O 返回源文件。
Taglist 快捷键
回车键 跳到光标所在的标记的定义处(如将光标移到main函数,按回车键)
o 新建一个窗口,跳到标记定义处
p 预览标记定义(仍然在taglist窗口)
空格 在窗口的最下面显示标记的原型(如函数原型)
u 更新标记列表(比如源文件新增了一个函数,并在保存后,可在taglist窗口按u)
s 更改排序方式,在按名字排序和按出现顺序排序间切
d 删除光标所在的taglist文件(如用vi打开了两个文件f1.c,f2.c可以删除f1.c的标记)
x 放大/缩小taglist窗口
+ 展开(指标记)
- 折叠
* 全部展开
= 全部折叠
[[ 将光标移到前一个文件的起点
]] 将光标移到后一个文件的起点
q 退出taglist窗口
最方便的方法是把光标移到变量名或函数名上,然后按下 Ctrl-] , 用 Ctrl-O 退回原来的地方。
使用cppcomplete
下载地址:http://www.vim.org/scripts/script.php?script_id=527
下载后放到文件夹 ~/.vim/plugin/ 即可.
cppcomplete的使用我只是简单的发现它可以根据上述方法生成的tags文件来自动补全类型成员。
使用很简单,就是在你需要补全类型成员时,按F8键就可以拉。它一般第一次使用时,需要让你确认是使用已有的tags文件还是再生成一次。一般我们自己控制生成tags文件的时机,它就使用就行拉。
但它也受到ctags的分析能力比较差的限制,可能不是每次都能帮到你。
SuperTab插件 : 简化补全代码的快捷键, 按 Tab 键即可(以前需要按 Ctrl + X, Ctrl + O )。
1.点此下载 SuperTab 插件, 放入插件文件夹内;
2.用 Vim 打开 supertab.vba, 并输入 :so% ;
3.敲回车后完成安装。
配置 SuperTab :
vimrc中添加:
let g:SuperTabRetainCompletionType=2
" 0 – 不记录上次的补全方式
" 1 – 记住上次的补全方式,直到用其他的补全命令改变它
" 2 – 记住上次的补全方式,直到按ESC退出插入模式为止
let g:SuperTabDefaultCompletionType="<C-X><C-O>"
" 设置按下<Tab>后默认的补全方式, 默认是<C-P>,
" 现在改为<C-X><C-O>. 关于<C-P>的补全方式,
" 还有其他的补全方式, 你可以看看下面的一些帮助:
" :help ins-completion
" :help compl-omni
之后就可以用 Tab 代替 Ctrl + X, Ctrl + O 了。
转载请注明来自:[闪电博客]http://shandian.biz/1708.html
Taglist是Vim的源代码浏览插件,提供了在Vim中查看文件中包含的函数列表和类的方法类表的功能。Taglist功能的实现要依赖于Ctags。Ctags是一个用于产生代码索引文件的插件,其产生的索引文件用于帮助文本编辑器或其他工具快速,准确定位符号在代码文件中的位置。Ctags可以支持很多很多语言。。。
安装Ctags?
推荐使用Exuberant Ctags,其下载网址是 http://ctags.sourceforge.net/ .
下载了源代码 ctags-**.tar.gz后解压缩,切换到其目录进行编译,安装
1../configure
2.make
3.suod make install
至此,Ctags安装完成。
安装Taglist
1.在 http://www.vim-taglist.sourceforge.net/screenshots.html 下载最新版的Taglist软件包。
2.在个人用户目录下创建 .vim 目录,将taglist_**.zip中的内容解压到该目录。
3.进入Vim,在命令模式下输入命令 " helptags~/.vim/doc "即可完成Taglist的安装。
4.输入命令“ Tlist ”检查是否安装成功。
把Ctags和Taglist联系起来
安装好Ctags和Taglist后,需要把它们联系起来。
修改 ~/.vim/plugin/taglist.vim 文件,找到
if !exists(‘loaded_taglist’)
这一行,在其前面添加
let Tlist_Ctags_Cmd="/usr/bin/ctags"
OK,Vim+Taglist+Ctags安装完成!下面介绍如何使用使用 Vim+Taglist+Ctags 阅读代码!
使用Ctags和Taglist
1. 生成tags文件
在目录树的根目录里,使用命令:ctags -R 或 ctags –recurse
如: ctags -R src/* ,则会在当前目录下生成 tags 文件
要生成 cppcomplete 需要的 tags 文件的话,需要运行下面的命令:
ctags -n -f cppcomplete.tags –fields=+ai –C++-types=+p * -L cscope.files
注意,参数"-L cscope.files" 仅仅是借用了cscope生成的文件索引来帮助ctags去查询相关工程文件生成tags。
2. 编辑 vim 配置文件 .vimrc
在 .vimrc 文件中添加:
set tags=tags;
set autochdir
注: 第一个命令里的分号是必不可少的。这个命令让vim首先在当前目录里寻找tags文件,如果没有找到tags文件,或者没有找到对应的目标,就到父目录 中查找,一直向上递归。因为tags文件中记录的路径总是相对于tags文件所在的路径,所以要使用第二个设置项来改变vim的当前目录。
当然你如果想直接使用绝对路径,这样也是可以的:
set tags=/home/xxx/myproject/tags
另外,在 Vim 配置文件 ~/.vimrc 中添加:
filetype plugin on
"let Tlist_Ctags_Cmd = ‘/usr/bin/ctags’ “设置ctags命令目录
let Tlist_Show_One_File = 1 "不同时显示多个文件的tag,只显示当前文件的
let Tlist_Exit_OnlyWindow = 1 "如果taglist窗口是最后一个窗口,则退出vim
"let Tlist_Use_Right_Window = 1 “让taglist窗口在右侧显示
3. 打开 Vim 前使用命令 ctags -R 产生tags文件, Vim 在启动时会自动查找并加载tags文件。
打开 Vim 之后,使用命令 :Tlist 激活 Taglist; 按两次 Ctrl + W 在两个窗口来回跳转;Ctrl + ] 或 回车键 查看函数定义(前者在 Taglist 窗口显示, 后者在源文件窗口显示), Ctrl + O 返回源文件。
Taglist 快捷键
回车键 跳到光标所在的标记的定义处(如将光标移到main函数,按回车键)
o 新建一个窗口,跳到标记定义处
p 预览标记定义(仍然在taglist窗口)
空格 在窗口的最下面显示标记的原型(如函数原型)
u 更新标记列表(比如源文件新增了一个函数,并在保存后,可在taglist窗口按u)
s 更改排序方式,在按名字排序和按出现顺序排序间切
d 删除光标所在的taglist文件(如用vi打开了两个文件f1.c,f2.c可以删除f1.c的标记)
x 放大/缩小taglist窗口
+ 展开(指标记)
- 折叠
* 全部展开
= 全部折叠
[[ 将光标移到前一个文件的起点
]] 将光标移到后一个文件的起点
q 退出taglist窗口
最方便的方法是把光标移到变量名或函数名上,然后按下 Ctrl-] , 用 Ctrl-O 退回原来的地方。
使用cppcomplete
下载地址:http://www.vim.org/scripts/script.php?script_id=527
下载后放到文件夹 ~/.vim/plugin/ 即可.
cppcomplete的使用我只是简单的发现它可以根据上述方法生成的tags文件来自动补全类型成员。
使用很简单,就是在你需要补全类型成员时,按F8键就可以拉。它一般第一次使用时,需要让你确认是使用已有的tags文件还是再生成一次。一般我们自己控制生成tags文件的时机,它就使用就行拉。
但它也受到ctags的分析能力比较差的限制,可能不是每次都能帮到你。
SuperTab插件 : 简化补全代码的快捷键, 按 Tab 键即可(以前需要按 Ctrl + X, Ctrl + O )。
1.点此下载 SuperTab 插件, 放入插件文件夹内;
2.用 Vim 打开 supertab.vba, 并输入 :so% ;
3.敲回车后完成安装。
配置 SuperTab :
vimrc中添加:
let g:SuperTabRetainCompletionType=2
" 0 – 不记录上次的补全方式
" 1 – 记住上次的补全方式,直到用其他的补全命令改变它
" 2 – 记住上次的补全方式,直到按ESC退出插入模式为止
let g:SuperTabDefaultCompletionType="<C-X><C-O>"
" 设置按下<Tab>后默认的补全方式, 默认是<C-P>,
" 现在改为<C-X><C-O>. 关于<C-P>的补全方式,
" 还有其他的补全方式, 你可以看看下面的一些帮助:
" :help ins-completion
" :help compl-omni
之后就可以用 Tab 代替 Ctrl + X, Ctrl + O 了。
转载请注明来自:[闪电博客]http://shandian.biz/1708.html
把VIM打造成一个真正的IDE(1)
http://www.vimer.cn/2009/10/%E6%8A%8Avim%E6%89%93%E9%80%A0%E6%88%90%E4%B8%80%E4%B8%AA%E7%9C%9F%E6%AD%A3%E7%9A%84ide1.html把VIM打造成一个真正的IDE(2)
http://www.vimer.cn/2009/10/%E6%8A%8Avim%E6%89%93%E9%80%A0%E6%88%90%E4%B8%80%E4%B8%AA%E7%9C%9F%E6%AD%A3%E7%9A%84ide2.html把VIM打造成一个真正的IDE(3)
http://www.vimer.cn/2009/10/%E6%8A%8Avim%E6%89%93%E9%80%A0%E6%88%90%E4%B8%80%E4%B8%AA%E7%9C%9F%E6%AD%A3%E7%9A%84ide3.html相关文章推荐
- vim +ctags +taglist +global+cppcomplete 安装
- vim + ctags + taglist + cscope + cppcomplete + global 使用初探
- vim + ctags + taglist + cscope + cppcomplete + global 使用初探zz
- 【vim】安装linux开发环境(vim + ctags + taglist + cscope + cppcomplete + global )
- vim + ctags + taglist + cscope + cppcomplete + global 使用初探
- 安装linux开发环境(vim + ctags + taglist + cscope + cppcomplete + global )
- 将Vim改造为强大的IDE—Vim集成Ctags/Taglist/Cscope/Winmanager/NERDTree/OmniCppComplete
- 将Vim改造为强大的IDE—Vim集成Ctags/Taglist/Cscope/Winmanager/NERDTree/OmniCppComplete(有图有真相)
- vim插件 ctags 和 taglist 的安装和使用
- vim + ctags + taglist + cscope + cppcomplete + global
- Vim+ ctags + taglist + omnicppcomplete 配置
- 将Vim改造为强大的IDE—Vim集成Ctags/Taglist/Cscope/Winmanager/NERDTree/OmniCppComplete
- vim插件之ctags和taglist安装使用
- vim+ctags+taglist+cscope+cppcomplete+global 环境搭建
- 将Vim改造为强大的IDE—Vim集成Ctags/Taglist/Cscope/Winmanager/NERDTree/OmniCppComplete
- 将Vim改造为强大的IDE—Vim集成Ctags/Taglist/Cscope/Winmanager/NERDTree/OmniCppComplete(有图有真相)(转)
- 将Vim改造为强大的IDE—Vim集成Ctags/Taglist/Cscope/Winmanager/NERDTree/OmniCppComplete(有图有真相)
- vim插件 ctags 和 taglist 的安装和使用
- 转:vim插件 ctags 和 taglist 的安装和使用
- 将Vim改造为强大的IDE—Vim集成Ctags/Taglist/Cscope/Winmanager/NERDTree/OmniCppComplete(有图有真相)