vim IDE打造
2016-07-28 11:36
417 查看
vim IDE打造
@(IPCam)[vim, 插件, vundle, ubuntu]vim IDE打造
vundle插件管理器
ctagscscopetaglistwinmanagernerdtree插件
ctags插件
cscope插件
taglist
omniCppCompletesuperTab
winmanagernerdtreeminibufExporer
其他插件
完整的vim配置
vundle插件管理器
vundle官方github网站首先从github上将vundle仓库克隆到./vim/bundle/Vundle.vim
$ git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim
配置.vimrc 文件(.vimrc是vim的配置文件) 官方的rc文件实例,我的解释
" let Vundle manage Vundle, required Plugin 'VundleVim/Vundle.vim' # Github 上的插件代码使用"作者名+仓库名"的方式添加 Plugin 'tpope/vim-fugitive' # 官方org网站上的插件,使用官方的名字 http://vim-scripts.org/vim/scripts.html Plugin 'L9' # 非github上的git仓库的代码,使用下面的形式 Plugin 'git://git.wincent.com/command-t.git' # 本地的插件添加方式 Plugin 'file:///home/gmarik/path/to/plugin' # 其他目录的插件添加方式 Plugin 'rstacruz/sparkup', {'rtp': 'vim/'} # 同名插件的处理 Plugin 'ascenator/L9', {'name': 'newL9'} " 所有插件必须写在 vundle#begin和#end之间 call vundle#end() " required filetype plugin indent on " required " To ignore plugin indent changes, instead use: "filetype plugin on
在vim中安装
在vim中输入以下的指令完成vim中安装
" Brief help " :PluginList - lists configured plugins " :PluginInstall - installs plugins; append `!` to update or just :PluginUpdate " :PluginSearch foo - searches for foo; append `!` to refresh local cache " :PluginClean - confirms removal of unused plugins; append `!` to auto-approve removal " " see :h vundle for more details or wiki for FAQ " Put your non-Plugin stuff after this line
ctags/cscope/taglist/winmanager/nerdtree插件
ctags插件
ctags是一个linux程序,对目录中的文件处理生成一个tags数据库,然后vim就可以调用这个数据库,显示文件中变量和函数关系等信息。安装直接使用apt-get。
map <C-F12> :!ctags -R --c++-kinds=+p --fields=+iaS --extra=+q .<CR>在vimrc文件中加入这段代码,将Ctrl+F12组合键映射为ctags生成数据库文件。
ctags -R --c++-kinds=+p --fields=+iaS --extra=+q也直接shell运行这个代码。
Ctrl+]跳转到光标所选处的定义
Ctrl+T回到跳转前的位置
cscope插件
Cscope提供交互式查询语言符号功能,如查询哪些地方使用某个变量或调用某个函数。类似sourceinsight中的全局查找功能。vim一般自带cscope。vim中使用
:version命令查看是否支持cscope。不支持再用apt-get安装。
插件安装:
使用方法:
taglist
是一个显示代码中函数变量等定义结构的窗口插件。它是一个插件,使用上一章中的方法安装。帮助文档的建立
安装完成后,进入~/.vim/…/doc文件夹,进入vim使用
:helptags .命令加入帮助文档,使用
:help taglist命令查看帮助。
配制
let Tlist_Show_One_File=1 let Tlist_Exit_OnlyWindow=1
只显示一个窗口,只有tlist窗口时退出。
使用方式 :
1.
:TlistToggle启动,再次输入关闭
2.
Ctrl+w或者鼠标点击,切换窗口
omniCppComplete\superTab
omniCppComplete:c++代码的自动补全功能。是一个插件,安装方法相同。生成帮助文档相同。superTab:Tab上下文自动补齐。
.vimrc配置
set nocp filetype plugin on
winmanager/nerdtree/minibufExporer
这三个插件是用来优化vim的界面的布局。nerdtree是一个树形的文件夹浏览的窗口,minibuExplorer类似vs中的缓冲buf界面。winmanager是用来组织这几个窗口的插件
安装
安装的方式如同插件安装方式。
配置
"设置nerdtree" let g:NERDTree_title="[NERDTree]" "设置窗口的布局,还是去掉BufExploer比较好,加上关闭时有bug" let g:winManagerWindowLayout="NERDTree|TagList,BufExplorer" "根据NERDTree要求加入如下代码" function! NERDTree_Start() exec 'NERDTree' endfunction function! NERDTree_IsValid() return 1 endfunction "设置多键快捷键,按wm打开winmanager" nmap wm :WMToggle<cr> map <F8> :WMToggle<cr>
自动打开winmanager
在.vimrc中加入
"设置vim启动时是否显示nerdtree和taglist。" let g:A 4000 utoOpenWinManager = 0
在winmanager.vim中加入
f g:AutoOpenWinManager autocmd VimEnter * nested call s:ToggleWindowsManager()|1wincm w
NERDTree出现空白窗口的问题
主要的解决方式是启动时关闭那个窗口,修改winmanager.vim中的代码,参考链接vim winmanager中添加nerdtree
function! <SID>ToggleWindowsManager() if IsWinManagerVisible() call s:CloseWindowsManager() else call s:StartWindowsManager() "添加该语句,主要是解决当我们打开wm时会多出一个空白窗口,要把它关闭(这是winmanager中的一个bug)" exec 'q' end endfunction
其他插件
vim神插件* 文件跳转 ctrlp
* 自动补全 YouCompleteMe
* ag.vim 内容查找
* vim-airlin 帅
* tagbar 代码分析
完整的vim配置
知乎王路飞的答案spf13\kvim\fisa
相关文章推荐
- VIM编译器显示TAB和TAB转换为空格
- 不喜欢 IDE?试试看 grepgitvi
- 菜鸟说给菜鸟听之VIM--入门篇(1)
- java自动生成验证码插件-kaptcha
- cygwin下vim方向键不好用的解决方案
- 安装使用Ubuntu之vim必须知道的细节
- 【DevOps】为什么我们永远疲于奔命?
- 网络管理之IP地址篇
- 文件的读出 编辑 管理
- jQuery插件实现文字无缝向上滚动效果代码
- jQuery菜单插件用法实例
- Ruby学习笔记二帮助生成Vim添加代码头的代码
- 加载flash9.ocx出现错误的解决方法
- jquery实现的代替传统checkbox样式插件
- SQL Server 2008 R2 应用及多服务器管理
- 10款新鲜出炉的 jQuery 插件(Ajax 插件,有幻灯片、图片画廊、菜单等)
- jquery插件autocomplete用法示例
- 推荐40个非常优秀的jQuery插件和教程【系列三】
- VC下通过系统快照实现进程管理的方法
- Node.js插件的正确编写方式