1、ctags-用于代码间的跳转
安装
sudo apt-get install ctags
使用
1)、 在某个目录下, 建立tags.
ctags -R . --执行之后会在当前目录下生成一个tags文件
2)、 将tags文件加入.vimrc
在.vimrc中加入下面一行:
set tags=~/projects/tags --刚刚的生成tags的目录
NOTE: 如果有多个tag, 用逗号将其隔开, 逗号左右两边不要有空格.
至此即可使用。
3)、命令
ctrl+]来执行跳转
ctrl+t来跳转回来,ctrl+t可以带一个命令记数,以此作为往回跳的次数
:tags可以看到所有最近的跳转记录
:stag tagname可以隔开窗口显示
:help tags 可以查看所有的帮助
2、NERDTree-实现目录导航
https://github.com/scrooloose/nerdtree
下载
cd ~/.vim/bundle
配置
git clone https://github.com/scrooloose/nerdtree.git
1)、安装帮助文档
vim 中输入命令
:helptags ~/.vim/bundle/nerdtree/doc/NERD_tree.txt
执行:help NERD_tree.txt即可查看NERDTree的帮助文档
2)、将NERDTree加入到vim的启动目录中去
在$/VIM/vimrc文件或者本地的~/.vimrc中加入
set runtimepath=(..原有的查找文件),~/.vim/bundle/nerdtree
3)、设置打开NERDTree的快捷方式
在 .vimrc 添加如下内容
map <C-n> :NERDTreeToggle<CR> --设置ctrl+n为快捷启动方式
如果要在vim启动是就打开NERDTree
autocmd vimenter * NERDTree
4)、常用快捷键
C -将光标所在目录设置为根目录
u -转到上一级目录
o (enter)-展开(或折叠)光标所在目录的子目录。如果光标所在位置是一个文件,则在编辑窗口中打开该文件
3、代码自动补全
1)、Vim本身就可以自动补全:
<C-n><C-p>
不过默认只会查找当前标签页中所有打开的文件查找存在的函数、变量和方法等。
所以我们可以自己设置查找的文件
PHP 的函数列表文件:http://cvs.php.net/viewvc.cgi/phpdoc/funclist.txt
将funclist.txt放在~/.vim目录下,在.vimrc(~/.vimrc )中
配置:
set dictionary-=~/.vim/funclist.txt dictionary+=~/.vim/funclist.txt
set complete-=k complete +=k
4、TagList - 高效地浏览源码
下载
http://www.vim.org/scripts/script.php?script_id=273
配置
1)、使用taglist plugin,必须满足 一下三个条件:
a.打开vim的文件类型自动检测功能:filetype on
b.系统中装了Exuberant ctags工具,并且taglist plugin能够找到此工具(因为taglist需要调用它来生成tag文件)
c.你的vim支持system()调用 (一般都会支持)
2)、将taglist加到vim的启动目录中
方法一):
直接将taglist_46解压,将里面的doc/taglist.txt和plugin/taglist.vim
分别拷贝到$VIM/vimfiles/doc
和$VIM/vimfiles/plugin
目录里面(同gvim.exe一个目录)
方法二):
在$/VIM/vimrc文件或者本地的~/.vimrc中加入taglist_46目录
set runtimepath=(..原有的查找文件),/usr/share/vim/taglist_46
3)、使用
可以用”:TlistOpen“打开taglist窗口
用”:TlistClose“关闭taglist窗口
或者使用”:TlistToggle“在打开和关闭间切换。
在vimrc中定义快捷键,设置快捷键打开/关闭taglist窗口:
map <silent> <F9> :TlistToggle<cr>
以下在网上收集的常用的taglist的配置
" taglist
let Tlist_Auto_Highlight_Tag = 1
let Tlist_Auto_Open = 1
let Tlist_Auto_Update = 1
let Tlist_Close_On_Select = 0
let Tlist_Compact_Format = 0
let Tlist_Display_Prototype = 0
let Tlist_Display_Tag_Scope = 1
let Tlist_Enable_Fold_Column = 0
let Tlist_Exit_OnlyWindow = 0
let Tlist_File_Fold_Auto_Close = 0
let Tlist_GainFocus_On_ToggleOpen = 1
let Tlist_Hightlight_Tag_On_BufEnter = 1
let Tlist_Inc_Winwidth = 0
let Tlist_Max_Submenu_Items = 1
let Tlist_Max_Tag_Length = 30
let Tlist_Process_File_Always = 0
let Tlist_Show_Menu = 0
let Tlist_Show_One_File = 0
let Tlist_Sort_Type = "order"
let Tlist_Use_Horiz_Window = 0
let Tlist_Use_Right_Window = 1
let Tlist_WinWidth = 40
let tlist_php_settings = 'php;c:class;i:interfaces;d:constant;f:function'
版权声明:本文为博主原创文章,未经博主允许不得转载。