`
20386053
  • 浏览: 433156 次
文章分类
社区版块
存档分类
最新评论

谁说Vim不是IDE?(四)

 
阅读更多

http://www.cnblogs.com/chijianqiang/archive/2012/12/17/vim-4.html

谁说Vim不是IDE?(四)

系列4主要为大家介绍使用Vim实现代码浏览、索引、标签、标记、检索等功能,主要包括ctags、taglist和visualmark,尤其是ctags,是后续各种插件的基础,能够熟练的掌握和理解为佳。下面进入正文:

ctags

1、下载地址

http://ctags.sourceforge.net

2、功能说明

严格意义上来说,ctags并不是Vim的插件,而是Linux/Unix下的标签命令。通过ctags -R命令可以对当前目录下源代码中的类、函数、方法、变量、宏等元素进行索引处理,并生成索引文件。Vim使用ctags生成的tag文件,即可实现IDE中常用的代码跳转功能,实乃居家旅行代码索引的常备利器。ctags不仅支持c/c++/java等静态语言,还支持python/perl/php/jsp等动态脚本语言,就目前我的使用情况,ctags基本不支持Objective-C,对Ruby支持的也很糟糕,随着这些语言的普及和发展,希望后续版本的ctags会对更多的编程语言有更好的支持。

3、安装

对于Ubuntu,可以使用如下命令安装:sudo apt-get install ctags,安装完成后在终端键入ctags --help,看到正常的帮助信息就说明安装成功了。

对于Mac用户来说,OS X自带了ctags命令,但这并不是vim所需要的ctags,要重新安装:sudo port install ctags。由于OS X自带的ctags位于/usr/bin目录下,一般在PATH中是优先加载的,所以安装完成后,还需要设置一下环境变量,确保你在命令行使用的是新安装的ctags。如果没做特殊设置,安装的ctags一般在/opt/local/bin下,在当前用户的.profile中增加如下代码:export PATH=/opt/local/bin/:$PATH,在终端执行source .profile可立即生效。

4、使用说明

  • 创建标签索引
    前面我们提到过,ctags主要是用来创建Vim可以使用的tag索引文件,使用ctags -R即可对当前目录下的代码递归建立索引文件,文件保存在当前目录下,默认文件名为tags,文件大小和你要索引的代码量有关。
    如果想自己指定tag文件的位置和索引代码的位置,可以使用如下命令实现:
    ctags -R -o ~/.vim/ctags/pythontags /somepythondir/

  • 设置索引文件的位置
    Vim在运行过程中需要知道tag的索引文件位置,如果不指定的话,Vim会在当前目录下寻找名为tags的文件作为tag索引文件。
    如果想使用某个目录下的索引文件,在该目录下启动Vim即可。也可以在启动后通过如下命令设置或改变索引文件的位置:
    set tags=/home/xxx/xx/tags, xxxx/tags,......

当然,你也可以把这条命令写到.vimrc中。

  • 在Vim中使用tag
    tag的索引文件和位置都设置好之后,万事俱备,现在我们就可以在Vim中使用tag进行代码跳转和跟踪。
    ctags主要对源代码中的类、方法、变量等元素进行了索引,所以,如果我们记得某个类名、方法名或变量名,想在命令行下直接打开隐藏在重重叠叠的目录深处的某个文件时,以下命令可以帮助我们实现这个功能:
    vim -t class | method | variable
    例如,你想打开包含了loadCache方法的文件,可以用如下命令:
    vim -t loadCache
    如果多个文件中包含loadCache方法,vim会按照字母顺利打开第一个文件。想查看其他文件,可以使用ts命令,:ts会列出所有包含loadCache标签的文件,输入文件序号可以打开文件并定位到loadCache标签,通过j和k可以上下滚屏。

如果只是通过vim命令打开文件,那么可以使用如下命令进行文件检索和浏览:

:ta tagname 跳转到标签tagname定义的地方
:stag tagname 在分割窗口中查看包含tagname的文件
:tags 查看到达当前位置所经过的标签路径
:ts tagname 列出匹配tagname的标签,如为空,则使用标签栈中最后的标签
:tf 跳转至第一个匹配的标签
:tl 跳转至最后一个匹配的标签

跳转快捷键:

ctrl-] :跳转至光标所在对象定义之处
ctrl-t :返回跳转前位置
[n]ctrl-t :[n]为数字,向回跳转n次;等价于重复n次ctrl-t操作

5、注意事项

确认vim在打开文件时能够找到相关的标签文件tags。

taglist

1、下载地址

https://github.com/vim-scripts/taglist.vim

2、功能说明

taglist是Vim的一个代码浏览的插件,类似IDE中的Outline视图,可以根据不同语言的代码显示代码中的包、类、接口、方法、函数、变量、属性等内容,是Vim浏览代码的一个必备工具。

如图:

taglist同样需要依赖ctags命令生成tag。

3、安装

  • 进入~/.vim/bundle目录
  • 执行:git clone git://github.com/vim-scripts/taglist.vim.git

  • .vimrc文件设置taglist的配置信息,以下是我的偏好设置

      "taglist{
        let Tlist_Show_One_File = 1            "只显示当前文件的taglist,默认是显示多个
        let Tlist_Exit_OnlyWindow = 1          "如果taglist是最后一个窗口,则退出vim
        let Tlist_Use_Right_Window = 1         "在右侧窗口中显示taglist
        let Tlist_GainFocus_On_ToggleOpen = 1  "打开taglist时,光标保留在taglist窗口
        let Tlist_Ctags_Cmd='/opt/local/bin/ctags'  "设置ctags命令的位置
        nnoremap <leader>tl : Tlist<CR>        "设置关闭和打开taglist窗口的快捷键
        "}
        

4、使用说明

taglist参数介绍,大家可以根据自己的偏好在.vimrc中设置:

  • Tlist_Ctags_Cmd:设置ctags命令的位置
  • Tlist_Use_Horiz_Window:设置为1时,taglist窗口横向显示。默认纵向显示
  • Tlist_WinHeight:设置taglist窗口的宽度
  • Tlist_WinWidth:设置taglist窗口的高度
  • Tlist_Show_One_File:设置Tlist_Show_One_File为1则只显示当前文件的taglist,缺省显示多个文件中的tag
  • Tlist_Sort_Type:taglish默认按tag在文件中出现的顺序进行排序,设置为"name",taglist将以tag名字进行排序
  • Tlist_Exit_OnlyWindow:设置为1时,如果taglist是最后一个窗口,则退出vim
  • Tlist_Use_Right_Window:设置为1时,taglist窗口出现在右侧,缺省显示在左侧
  • Tlist_Auto_Open:如果想在启动VIM后自动打开taglist窗口,该参数设置为1
  • Tlist_Close_On_Select:如果想在选择了tag后自动关闭taglist窗口,该参数设置为1
  • Tlist_GainFocus_On_ToggleOpen:设置为1时,打开taglist光标保留在taglist窗口

当使用vim打开某个程序文件时,我们可以用:Tlist打开taglist窗口,如果该程序具备类、接口、属性等元素,就会在taglist窗口显示出来。我们可以通过以下这些常用快捷键来操作taglist:

  • 通过光标选择tag,回车可以跳到定义该tag的程序位置
  • 选中tag时按空格键,会在状态栏下方显示该tag的完整定义
  • x,横向放大或缩小taglist窗口
  • =,折叠所有的tag
  • +,打开所有的tag

5、注意事项

确认在.vimrc中使用Tlist_Ctags_Cmd定义了正确的ctags命令的位置,否则会出现找不到tag的错误信息。

visualmark

1、下载地址

http://www.vim.org/scripts/download_script.php?src_id=4700

2、功能说明

visualmark,顾名思义,就是在你阅读代码或编写代码的时候随时快速打标签,并通过快捷键来回切换浏览。如图:

visualmark

3、安装

.vim/bundle下建立文件夹visualmark/plugin,把下载的文件visualmark.vim复制到该文件夹下。

4、使用说明

使用vim打开一个文件,使用快捷键mm设置标签,通过F2和shift+F2可以上下切换浏览。
我们还可以对标签的样式进行定制:
打开visualmark.vim,找到如下代码修改:

//根据背景色设置标签颜色,cterm表示为原生vim设置样式
if &bg == "dark"
highlight SignColor ctermfg=white ctermbg=blue guifg=white guibg=peru
else
highlight SignColor ctermbg=white ctermfg=red guibg=grey guifg=RoyalBlue3
endif

5、注意事项


分享到:
评论

相关推荐

    vim-ide.tar.bz2

    Ubuntu 64位免安装版VIM-IDE。 压缩包为直接打包/etc/vim配置及插件包。 root@ubuntu:/etc/vim# tree -L 2 . bundle ale auto-pairs echofunc gdbmgr indentLine LeaderF nerdcommenter nerdtree nerdtree...

    Vim-IDE.zip

    基于win32版本vim82搭建IDE,解压文件到自定义目录下即可,并设置系统环境变量VIM 值为该目录。并自带以下插件 Plugin 'VundleVim/Vundle.vim' Plugin 'Valloric/YouCompleteMe' "代码补齐 Plugin 'SirVer/ultisnips...

    Vim-IDE脚本实现“一键安装”

    一键化打造 Vim IDE 环境(安装只需数秒) 【环境:Linux 64 位】 Vim7.X 可以安装旧版本,执行./start_vim.sh即可安装vim_ide

    vim打造IDE环境快速配置包

    vim打造完备的IDE环境快速配置包,copy vimrc 到用户主目录下 .vimrc; copy vim文件夹到用户主目录下成为.vim 即可,无需安装

    vim-IDE配置包

    我使用的一个配置好的vim-IDE版本,解压到用户文件夹,把.spf13-vim文件中的所有隐藏文件添加软链接到用户文件夹,然后,用apt-get 安装ctags,cscope,astyle;之后,把解压出来的cscopemake.sh 放在用户文件夹,即可...

    vim_ide配置文件及插件合集

    vim_ide配置文件及插件合集

    VIM-IDE 脚本自动配置

    vim-ide配置,可满足记本使用。运行脚本“一键安装”,自动完成下载安装配置的过程。

    vim plugin vim changes to ide update

    add wintagexplorer.vim , echofunc.vim , vimrc

    vim-ide.rar_vim IDE

    vim7.2中文说明文档+vim ide环境配置......

    vim 改成IDE

    Vim改变为完美IDE,手把手叫你做,配置很详细

    vim变IDE ~/.vim 打包的

    按照教你一步步把vim打造成IDE做的,花了一天时间,将这个文件解压到~/就ok了,另外按照我的帖子编辑.vimrc

    VimIde工具集

    打造属于自己的vimide用到的所有工具合集,不用一个个单独找了

    vim IDE配置

    vim IDE 配置, 打造source insight的功能

    new vimide for gvim

    new vimide for gvim new vimide for gvimnew vimide for gvimnew vimide for gvim

    linux vim改善为ide

    自己做的,虚拟机下linux操作系统,将vim改善为IDE,有具体步骤的

    ubuntu vim集成ide

    ubuntu 用vim配置c/c++ 集成ide

    use-vim-as-ide

    完整版《像使用IDE一样使用VIM》,高清,带目录。希望对你们有用

    vim ide configure

    vim ide configure vim ide configurevim ide configure

    vim IDE 配置

    手把手教你配置vim IDE,按照文档一步一步就可以构造你的IDE.

    一步一步手动打造Vim成IDE

    手动打造Vim成Python C\C++ IDE 内容涵盖: 1:手动编译安装Python 3.6 2:手动编译安装Vim 8.1 3:配置Vundle插件管理 4:基本的vimrc配置

Global site tag (gtag.js) - Google Analytics