系列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,顾名思义,就是在你阅读代码或编写代码的时候随时快速打标签,并通过快捷键来回切换浏览。如图:
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、注意事项
无
相关推荐
Ubuntu 64位免安装版VIM-IDE。 压缩包为直接打包/etc/vim配置及插件包。 root@ubuntu:/etc/vim# tree -L 2 . bundle ale auto-pairs echofunc gdbmgr indentLine LeaderF nerdcommenter nerdtree nerdtree...
基于win32版本vim82搭建IDE,解压文件到自定义目录下即可,并设置系统环境变量VIM 值为该目录。并自带以下插件 Plugin 'VundleVim/Vundle.vim' Plugin 'Valloric/YouCompleteMe' "代码补齐 Plugin 'SirVer/ultisnips...
一键化打造 Vim IDE 环境(安装只需数秒) 【环境:Linux 64 位】 Vim7.X 可以安装旧版本,执行./start_vim.sh即可安装vim_ide
vim打造完备的IDE环境快速配置包,copy vimrc 到用户主目录下 .vimrc; copy vim文件夹到用户主目录下成为.vim 即可,无需安装
我使用的一个配置好的vim-IDE版本,解压到用户文件夹,把.spf13-vim文件中的所有隐藏文件添加软链接到用户文件夹,然后,用apt-get 安装ctags,cscope,astyle;之后,把解压出来的cscopemake.sh 放在用户文件夹,即可...
vim_ide配置文件及插件合集
vim-ide配置,可满足记本使用。运行脚本“一键安装”,自动完成下载安装配置的过程。
add wintagexplorer.vim , echofunc.vim , vimrc
vim7.2中文说明文档+vim ide环境配置......
Vim改变为完美IDE,手把手叫你做,配置很详细
按照教你一步步把vim打造成IDE做的,花了一天时间,将这个文件解压到~/就ok了,另外按照我的帖子编辑.vimrc
打造属于自己的vimide用到的所有工具合集,不用一个个单独找了
vim IDE 配置, 打造source insight的功能
new vimide for gvim new vimide for gvimnew vimide for gvimnew vimide for gvim
自己做的,虚拟机下linux操作系统,将vim改善为IDE,有具体步骤的
ubuntu 用vim配置c/c++ 集成ide
完整版《像使用IDE一样使用VIM》,高清,带目录。希望对你们有用
vim ide configure vim ide configurevim ide configure
手把手教你配置vim IDE,按照文档一步一步就可以构造你的IDE.
手动打造Vim成Python C\C++ IDE 内容涵盖: 1:手动编译安装Python 3.6 2:手动编译安装Vim 8.1 3:配置Vundle插件管理 4:基本的vimrc配置