Vim的初步折腾
最近的操作系统实验和数据结构的课程设计都需要在Linux下的环境编程完成,因此需要一个强有力的工具,在“世上只有EMACS、VIM和其他”这句话的指导下,选择了折腾VIm。
我使用的是Ubuntu14.04系统,此次折腾包含以下内容:
1、使用Vim的vundle插件管理工具
2、安装几个简单实用的Vim插件
3、安装自动补全神器,YouCompleteMe插件
vundle插件的安装,基本上根据github上的介绍即可,概括起来分为两步,第一步是git clone到/.vim/bundle下,第二步是配置/.vimrc文件,配置内容可以根据官网来配置,也可以参考如下:
set nocompatible " be iMproved, required
"filetype off " required
" set the runtime path to include Vundle and initialize
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#rc()
Bundle 'gmarik/vundle'
vundle的github地址是
https://github.com/VundleVim/Vundle.vim
vundle安装完成和配置后,在vim中可以通过命令来实现插件的安装等,如:BundleInstall。
完成vundle插件管理的安装,我也简单安装了几个实用的插件,我的配置如下:
Bundle 'scrooloose/nerdtree'
let NERDTreeWinPos='right'
let NERDTreeWinSize=30
map <F5> :NERDTreeToggle<CR>
Bundle 'fholgado/minibufexpl.vim'
let g:miniBufExplMapWindowNavVim = 1
let g:miniBufExplMapWindowNavArrows = 1
let g:miniBufExplMapCTabSwitchBufs = 1
let g:miniBufExplModSelTarget = 1
let g:miniBufExplMoreThanOne=0
map <F2> :MBEbp<CR>
map <F3> :MBEbn<CR>
Bundle 'bling/vim-airline'
set laststatus=2
其中,nerdtree可以在Vim中查看目录其他文件,minibufexpl可以以标签形式编辑多个文件,并且来回切换,vim-airline是一个Vim状态栏的优化插件。
最后效果如图:
选区_002.pngps:MBEbd是关闭当前标签页
接下来,我们安装重头戏,YCM(YouCompleteMe),据说它的安装很麻烦,因为需要编译很多的东西。
我在这里记录我的安装过程,这应该是最不繁琐的安装过程了。
因为已经安装了vundle,因此这里可以在.vimrc文件中写入Bundle 'Valloric/YouCompleteMe'来安装。
接下来进入vim,输入命令:BundleInstall即可,需要等待一段时间。
完成后还不能直接使用,因为它需要Clang的支持。
进入~/.vim/bundle/YouCompleteMe目录下,运行./install.sh --clang-completer来自动编译添加clang支持,需要注意的是,这里需要python2.6以上的环境。
等待上述操作完成后,则可以在.vimrc中添加配置如下:
let mapleader = "," " 这个leader就映射为逗号","
let g:ycm_global_ycm_extra_conf = '~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp/ycm/.ycm_ex tra_conf.py' "配置默认的 ycm_extra_conf.py
nnoremap <leader>jd :YcmCompleter GoToDefinitionElseDeclaration<CR> "按,jd 会跳转到定
let g:ycm_confirm_extra_conf=0 " 打开vim时不再询问是否加载ycm_extra_conf.py配置
let g:ycm_collect_identifiers_from_tag_files = 1 "使用ctags生成的tags文件
到此已经安装结束,可以在Vim中享受C系列语言的自动补全了