Andrew Huang
在Source Insight 中,有文件的符号表侧边栏,用鼠标点击里面的函数名或变量名就可以跳转到其定义处。相当方便。在VIM下是否能实现其功能呢?
一.安装ctags
首先检测是否安装了ctags,我的RHEL5是自带了,可以运行如下命令进行检测
ctags --version
- [root@hxy ~]# ctags --version
-
Exuberant Ctags 5.6, Copyright (C) 1996-2004 Darren Hiebert
-
Compiled: Jul 17 2006, 11:39:49
-
Addresses: ,
-
Optional compiled features: +wildcards, +regex
如果没有安装,请到/ 下载
简单的三步:
./configure
make
make install
即可
二.安装taglist
这可以用taglist来实现,它是一个插件。可以从
下载
我下载的是最新版 taglist_45.zip
将其解压在 /usr/share/vim/vim70/ 目录之下. 我用如下命令
unzip taglist_45.zip -d /usr/share/vim/vim70
- [root@gz hxy]# unzip taglist_45.zip -d /usr/share/vim/vim70
-
Archive: taglist_45.zip
-
inflating: /usr/share/vim/vim70/plugin/taglist.vim
-
inflating: /usr/share/vim/vim70/doc/taglist.txt
进入vim 在命令行下执行
TlistOpen 命令,如果能看到多了一个侧边栏,表示安装成功
二.taglist 的配置
为了让taglist窗口更加适合不同人的开发,可以在vim的配置文件 ~/.vimrc 中进行一些配置
- Tlist_GainFocus_On_ToggleOpen : #为1则使用TlistToggle打开标签列表窗口后会获焦点至于标签列表窗口;为0则taglist打开后焦点仍保持在代码窗口
-
Tlist_Auto_Open # 为1则Vim启动后自动打开标签列表窗口
-
Tlist_Close_On_Select : # 选择标签或文件后是否自动关闭标签列表窗口
-
Tlist_Exit_OnlyWindow : #Vim当前仅打开标签列表窗口时,是否自动退出Vim
-
Tlist_Use_SingleClick : #是否将默认双击标答打开定义的方式更改为单击后打开标签
-
Tlist_Auto_Highlight_Tag : #是否高亮显示当前标签。命令":TlistHighlightTag"也可达到同样效果
-
Tlist_Highlight_Tag_On_BufEnter : # 默认情况下,Vim打开/切换至一个新的缓冲区/文件后,标签列表窗口会自动将当前代码窗口对应的标签高亮显示。TlistHighlight_Tag_On_BufEnter置为0可禁止以上行为
-
Tlist_Process_File_Always : #为1则即使标签列表窗口未打开,taglist仍然会在后台处理vim所打开文件的标签
-
Tlist_Auto_Update : #打开/禁止taglist在打开新文件或修改文件后自动更新标签。禁止自动更新后,taglist仅在使用:TlistUpdate,:TlistAddFiles,或:TlistAddFilesRecursive命令后更新标签
-
Tlist_File_Fold_Auto_Close : #自动关闭标签列表窗口中非激活文件/缓冲区所在文档标签树,仅显示当前缓冲区标签树
-
Tlist_Sort_Type : #标签排序依据,可以为"name"(按标签名排序)或"order"(按标签在文件中出现的顺序,默认值)
-
Tlist_Use_Horiz_Window : #标签列表窗口使用水平分割样式
-
Tlist_Use_Right_Window : #标签列表窗口显示在右侧(使用垂直分割样式时)
-
Tlist_WinWidth : #设定水平分割时标签列表窗口的宽度
-
Tlist_WinHeight : #设定垂直分割时标签列表窗口的高度
-
Tlist_Inc_Winwidth : #显示标签列表窗口时允许/禁止扩展Vim窗口宽度
-
Tlist_Compact_Format : #减少标签列表窗口中的空白行
-
Tlist_Enable_Fold_Column : #是否不显示Vim目录列
-
Tlist_Display_Prototype : #是否在标签列表窗口用标签原型替代标签名
-
Tlist_Display_Tag_Scope : #在标签名后是否显示标签有效范围
-
Tlist_Show_Menu : #在图型界面Vim中,是否以下拉菜单方式显示当前文件中的标签
-
Tlist_Max_Submenu_Item : #子菜单项上限值。如子菜单项超出此上限将会被分隔到多个子菜单中。缺省值为25
-
Tlist_Max_Tag_Length : #标签菜单中标签长度上限
我常用的配置是
let Tlist_Use_Right_Window = 1
let Tlist_Auto_Open=1
let Tlist_Exit_OnlyWindow = 1
let Tlist_GainFocus_On_ToggleOpen=1
打开后的界面如下
三.taglist 的界面操作
taglist的常用命令有(注意大小写)
TlistOpen #打开taglist窗口
TlistClose #关闭taglist窗口
TlistToggle #打开/关闭切换操作,
taglist 本质也是一个VIM的窗口,一些操作请参数我的博文
<> http://blog.chinaunix.net/space.php?uid=20587912&do=blog&id=2783313
比如taglist窗口必须用ctrl ww 之类命令取得焦点,才能用回车键跳转,
阅读(3613) | 评论(0) | 转发(1) |