标签:style blog http color 使用 strong
最近本人在看《TCP/IP Illustrated Volume2:The Implementation》这本书,自然要下载4.4BSD-Lite的源代码配合书本一起研读。以前学习Vim的时候就知道Vim可以通过插件的功能来配置一个功能强大的自定义IDE,这次有这么好的机会为什么不利用一下呢?于是在阅读源代码的过程中根据需要一步一步配置了一个简单完整的IDE环境,通过这几天的使用真心觉得Vim好用,速度那个快呀。以前总听别人说Vim如何如何好,这次真的让我感受到了并爱上了Vim这个工具。在这里强烈推荐没有尝试过的可以自己尝试下,下面来看看我是怎么一步步将Vim配置成一个功能基本齐全的IDE的。
一、准备工作
1 set nocompatible " be iMproved, required
2 filetype on " required
3
4 " set the runtime path to include Vundle and initialize
5 set rtp+=~/.vim/bundle/Vundle.vim
6 call vundle#begin()
7 " alternatively, pass a path where Vundle should install plugins
8 "call vundle#begin(‘~/some/path/here‘)
9
10 " let Vundle manage Vundle, required
11 Plugin ‘gmarik/Vundle.vim‘
12
13 " plugin from http://vim-scripts.org/vim/scripts.html
14 Plugin ‘L9‘
15 " Git plugin not hosted on GitHub
16 " Plugin ‘git://git.wincent.com/command-t.git‘
17 " git repos on your local machine (i.e. when working on your own plugin)
18 " Plugin ‘file:///home/gmarik/path/to/plugin‘
19 " The sparkup vim script is in a subdirectory of this repo called vim.
20 " Pass the path to set the runtimepath properly.
21 " Plugin ‘rstacruz/sparkup‘, {‘rtp‘: ‘vim/‘}
22 " Avoid a name conflict with L9
23 " Plugin ‘user/L9‘, {‘name‘: ‘newL9‘}
24
25 " All of your Plugins must be added before the following line
26 call vundle#end() " required
27 filetype plugin indent on " required
28 " To ignore plugin indent changes, instead use:
29 "filetype plugin on
30 "
31 " Brief help
32 " :PluginList - list configured plugins
33 " :PluginInstall(!) - install (update) plugins
34 " :PluginSearch(!) foo - search (or refresh cache first) for foo
35 " :PluginClean(!) - confirm (or auto-approve) removal of unused plugins
36 "
37 " see :h vundle for more details or wiki for FAQ
38 " Put your non-Plugin stuff after this line
二、生成tags文件
为了可以利用Vim本身提供的tag功能来定位程序里面出现的宏定义和方法定义(源文件之间跳转),在你的工程根目录运行命令:$ ctags -R --language-force=c++ *,这里语言要指定为c++,如果指定为c则不会生成.h文件的tag。操作成功后在当前目录就可以发现一个tags文件了,在~/.vimrc中添加一行配置信息如:set tags=/opt/dev/4.4BSD-Lite/tags来告诉vim tag索引文件的位置。再次运行vim就可以通过按Ctrl+]来快速跳转到光标下方的函数或宏的定义处,查看代码非常方便。通过]+d可以在vim状态栏显示当前文件中定义的宏的内容(不用跳转)
三、按需添加插件
(1)显示目录树插件(NERDTree)
(2)文件查找插件(CtrlP)
let g:ctrlp_map = ‘<c-p>‘ "hotkey Ctrl+p open ctrlp plugin
let g:ctrlp_cmd = ‘CtrlP‘
let g:ctrlp_working_path_mode = ‘0‘ "disable work path mode
(3)函数名列表(CtrlPFunky),该插件是CtrlP插件的一个扩展,必须先装CtrlP
map <F6> :CtrlPFunky<cr> let g:ctrlp_extensions = [‘funky‘] let g:ctrlp_funky_syntax_highlight = 1
(4)源文件中函数、变量、结构体、宏等元素的列表(taglist)
map <F5> :Tlist<cr> let Tlist_Show_One_File = 1 let Tlist_Exit_OnlyWindow = 1 let Tlist_Use_Right_Window = 1 let Tlist_GainFocus_On_ToggleOpen = 1
四、后记
上面四个插件就是我当前阅读源代码的IDE配置,对于我来说已经足够满足我的工作需要了;由于这次时间仓促Vim里面还有很多人性化的配置及插件没来得及发现,随着我对Vim更深入的了解及在使用过程中遇到的新问题,还会有更多优秀的功能及插件,到时候再来分享。
为了方便的保存每次的工作状态及再次运行Vim的时候恢复上次工作状态需要在~/.vimrc中添加如下两行配置(也就是Vim的Session管理功能):
map <F2> :mksession! ~/vim_session <cr> " Quick write session with F2
map <F3> :source ~/vim_session <cr> " And load session with F3
通过Vim+少量插件配置一个高效简洁的IDE,布布扣,bubuko.com
标签:style blog http color 使用 strong
原文地址:http://www.cnblogs.com/javaminer/p/3842689.html