我们已经可以通过vim来编写程序了,但只是局限于只有几个源文件的情况下,如果想要成为一个强力IDE,还有很多的工作需要支持,我们可以相像一下Eclipse或者VS,作为一个IDE应该具有的功能
1.程序语法及排版支持
2.工程目录文件管理,工程构建自动化,包括源文件结构和目录管理
3.代码结构管理,特别是方便函数及变量查找,函数及变量跟踪跳转
4.方便代码调试
5.自动补全
我们已经满足了上面第一条的要求,现在我们开始研究vim对工程的支持,功能包括工程目录源文件
- taglist
借用军官方的描述
The "Tag List" plugin is a source code browser for the vim editor
更通俗一点来讲,taglist在另外一个窗口组织和显示函数,变量列表,可以实现快速定位.此插件需要ctags的支持
taglist下载 下载安装,开启taglist的默认命令是 :TlistToggle, 不太好记,又长,定义一个好记的快捷键
map <silent><F6> <ESC>:TlistToggle<CR>
按F6就可以显示和隐藏,效果如下
- nerdtree
我选择nerdtree完全是因为在vim的官方上面,它的排名比较前,他和winmanager都是文件管理器 NERD tree下载,同taglist,我们也设置一个快捷键
map <silent><F3> <ESC>:NERDTreeToggle<CR>
- tabbar 下载
这是从minuBufExplorer衍生出来的一个插件,它可以使用会缓存访问过的文件,且可以通过alt +数字进行切换
- winmanager 下载
我们已经有大部分需要的插件了,可是现在需要的是把它们整合起来,首先可以先注释上面所有的配置,没有必要对每个插件都单独使用
let g:NERDTree_title='NERD Tree'
let g:winManagerWindowLayout='NERDTree|TagList,Tarbar'
function! NERDTree_Start()
exec 'NERDTree'
endfunction
function! NERDTree_IsValid()
return 1
endfunction
nmap <F4> :WMToggle<cr>:q<cr>
namp <C-F4>:WMToggle<cr>
注意的是winmanager会依赖bufexplorer
.vim插件,使用前需要先安装,整体效果如下, 可以看到Tarbar,taglist,NERDTree都已经整合
-
project(待续)
- 相关引用和借鉴
Vim插件推荐
vi/vim使用进阶
Vimer的程序世界手把手教你把Vim改装成一个IDE编程环境(图文)
vim.org打造自己的vim界面--用winmanager合并显示NERDTree和TagList