Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1675037
  • 博文数量: 311
  • 博客积分: 7778
  • 博客等级: 少将
  • 技术积分: 4186
  • 用 户 组: 普通用户
  • 注册时间: 2009-11-09 19:59
个人简介

蓝点工坊(http://www.bluedrum.cn) 创始人,App和嵌入式产品开发。同时也做相应培训和外包工作。 详细介绍 http://pan.baidu.com/s/1y2g88

文章存档

2012年(3)

2011年(115)

2010年(170)

2009年(23)

分类: LINUX

2011-09-11 18:55:14

Andrew Huang

  在Source Insight 中,有文件的符号表侧边栏,用鼠标点击里面的函数名或变量名就可以跳转到其定义处。相当方便。在VIM下是否能实现其功能呢?

一.安装ctags
   
  首先检测是否安装了ctags,我的RHEL5是自带了,可以运行如下命令进行检测
   ctags --version
   
  1. [root@hxy ~]# ctags --version
  2. Exuberant Ctags 5.6, Copyright (C) 1996-2004 Darren Hiebert
  3. Compiled: Jul 17 2006, 11:39:49
  4. Addresses: ,
  5. 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   

  1. [root@gz hxy]# unzip taglist_45.zip -d /usr/share/vim/vim70
  2. Archive: taglist_45.zip
  3. inflating: /usr/share/vim/vim70/plugin/taglist.vim
  4. inflating: /usr/share/vim/vim70/doc/taglist.txt
进入vim 在命令行下执行
  TlistOpen 命令,如果能看到多了一个侧边栏,表示安装成功

二.taglist 的配置

  为了让taglist窗口更加适合不同人的开发,可以在vim的配置文件 ~/.vimrc 中进行一些配置

  1. Tlist_GainFocus_On_ToggleOpen :        #为1则使用TlistToggle打开标签列表窗口后会获焦点至于标签列表窗口;为0则taglist打开后焦点仍保持在代码窗口
  2. Tlist_Auto_Open                       # 为1则Vim启动后自动打开标签列表窗口
  3. Tlist_Close_On_Select :               # 选择标签或文件后是否自动关闭标签列表窗口
  4. Tlist_Exit_OnlyWindow :               #Vim当前仅打开标签列表窗口时,是否自动退出Vim
  5. Tlist_Use_SingleClick :               #是否将默认双击标答打开定义的方式更改为单击后打开标签
  6. Tlist_Auto_Highlight_Tag :            #是否高亮显示当前标签。命令":TlistHighlightTag"也可达到同样效果
  7. Tlist_Highlight_Tag_On_BufEnter :     # 默认情况下,Vim打开/切换至一个新的缓冲区/文件后,标签列表窗口会自动将当前代码窗口对应的标签高亮显示。TlistHighlight_Tag_On_BufEnter置为0可禁止以上行为
  8. Tlist_Process_File_Always :           #为1则即使标签列表窗口未打开,taglist仍然会在后台处理vim所打开文件的标签
  9. Tlist_Auto_Update :                   #打开/禁止taglist在打开新文件或修改文件后自动更新标签。禁止自动更新后,taglist仅在使用:TlistUpdate,:TlistAddFiles,或:TlistAddFilesRecursive命令后更新标签
  10. Tlist_File_Fold_Auto_Close :          #自动关闭标签列表窗口中非激活文件/缓冲区所在文档标签树,仅显示当前缓冲区标签树
  11. Tlist_Sort_Type :                     #标签排序依据,可以为"name"(按标签名排序)或"order"(按标签在文件中出现的顺序,默认值)
  12. Tlist_Use_Horiz_Window :              #标签列表窗口使用水平分割样式
  13. Tlist_Use_Right_Window :              #标签列表窗口显示在右侧(使用垂直分割样式时)
  14. Tlist_WinWidth :                      #设定水平分割时标签列表窗口的宽度
  15. Tlist_WinHeight :                     #设定垂直分割时标签列表窗口的高度
  16. Tlist_Inc_Winwidth :                  #显示标签列表窗口时允许/禁止扩展Vim窗口宽度
  17. Tlist_Compact_Format :                #减少标签列表窗口中的空白行
  18. Tlist_Enable_Fold_Column :            #是否不显示Vim目录列
  19. Tlist_Display_Prototype :             #是否在标签列表窗口用标签原型替代标签名
  20. Tlist_Display_Tag_Scope :             #在标签名后是否显示标签有效范围
  21. Tlist_Show_Menu :                     #在图型界面Vim中,是否以下拉菜单方式显示当前文件中的标签
  22. Tlist_Max_Submenu_Item :              #子菜单项上限值。如子菜单项超出此上限将会被分隔到多个子菜单中。缺省值为25
  23. 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) |
给主人留下些什么吧!~~