1.安装 vim gcc make clang
2.将以下代码复制进自己的 .vimrc中
"----------------------------------------
" vim 配置
" 2014 11 23
"----------------------------------------
"
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#begin()
Plugin ‘gmarik/Vundle.vim‘
Plugin ‘taglist.vim‘
Plugin ‘minibufexpl.vim‘
Plugin ‘winmanager‘
Plugin ‘clang-complete‘
Plugin ‘supertab‘
Plugin ‘scrooloose/syntastic‘
Plugin ‘Lokaltog/vim-powerline‘
Plugin ‘WolfgangMehner/vim-plugins‘
Bundle ‘altercation/vim-colors-solarized‘
call vundle#end() " required
"----------基本设置----------------------
filetype plugin indent on
syntax on " 使用语法高亮
set autoread " 使用不兼容 vi 的模式
set autoindent " 设置自动对齐(缩进)
set smartindent " 智能对齐方式
set wrap " 自动换行
set linebreak " 整词换行
set cindent " 使用 C/C++ 语言的自动缩进方式
set backspace=2 " 设置退格键可用
set mouse=a " 使用鼠标
set number " 显示行号
set cul " 显示当前行下划线
set tabstop=8 " 设置制表符(tab键)的宽度
set softtabstop=8 " 设置软制表符的宽度
set expandtab " Tab替换空格
scriptencoding utf-8 " 设置编码
set cursorline " 高亮当前行
set nobackup
set noswapfile "禁止生成临时文件
set wildmenu "补全命令
set scrolloff=4 " 光标移动到buffer的顶部和底部时保持3行距离,再往下移动页面时,光标与最后一行始终保持4格的距
"----------------tags------------------
"---------------------------------------
"
"-------------------- MiniBufferExplorer 的设置----------------------
let g:miniBufExplMapWindowNavVim=1 " 按下Ctrl+h/j/k/l,可以切换到当前窗口的上下左右窗口
let g:miniBufExplMapWindowNavArrows=1 " 按下Ctrl+箭头,可以切换到当前窗口的上下左右窗口
let g:miniBufExplMapCTabSwitchBufs=1 " Ctrl+tab移到下一个窗口;Ctrl+Shift+tab移到上一个窗口
let g:miniBufExplModSelTarget=1 " 不要在不可编辑内容的窗口(如TagList窗口)中打开选中的buffer
" 设置分屏浏览
let Tlist_Show_One_File=0
let Tlist_Exit_OnlyWindow=1
let g:winManagerWindowLayout=‘FileExplorer|TagList‘
nmap wm :WMToggle<CR>
"------------clang-complete-----------------
"----------------------------------------------
set completeopt=longest,menu
let g:clang_auto_select=1
let g:clang_complete_select=1
let g:clang_complete_copen=1
let g:clant_periodic_quickfix=1
let g:clang_snippets=0
let g:clang_close_preview=1
let g:clang_use_library=1
"-------------设置超级TAB的补全--------------
let g:SuperTabRetainCompletionType=0
let g:SuperTabDefaultCompletionType="<C-X><C-U>"
"------------------------------------------------
"
"------------------- powerline 配置-------------------
set nocompatible
set laststatus=2
set encoding=utf-8
set t_Co=256
set guifont=PowerlineSymbols\ for\
let g:Powerline_symbols=‘unicode‘
let g:Powerline_stl_path_style=‘full‘
"------------------------------------------------
syntax enable
set background=dark
colorscheme solarized
set foldenable " 允许折叠
set fdm=marker
set foldcolumn=0
set foldlevel=3 "关于折叠的一些设置,但看不懂
" 按下F5,在当前目录递归生成tag文件
map <F5> :!ctags -R --c++-kinds=+p --fields=+iaS --extra=+q<CR><CR>
imap <F5> <ESC>:!ctags -R --c++-kinds=+p --fields=+iaS --extra=+q<CR><CR>
" vim 启动时自动载入以下tags文件
set tags=tags
set tags+=./tags
" 用就去生成,去放
"set tags+=/usr/local/src/linux-3.12.6/tags
set tags+=/usr/include/Linux/tags
set tags+=/usr/include/tags
set tags+=/usr/include/sys/tags
set tags+=./tags
" QuickFix 插件的设置
" 按下F6,执行make编译程序,并打开quickfix窗口,显示编译信息
map <F6> :make<CR><CR><CR> :copen<CR><CR>
" 按下F7,光标移到上一个错误所在的行
map <F7> :cp<CR>
" 按下F8,光标移到下一个错误所在的行
map <F8> :cn<CR>
" 按下F9,执行make clean
map <F9> :make clean<CR><CR><CR>
" 以下的映射是使上面的快捷键在插入模式下也能用
imap <F6> <ESC>:make<CR><CR><CR> :copen<CR><CR>
imap <F7> <ESC>:cp<CR>
imap <F8> <ESC>:cn<CR>
imap <F9> <ESC>:make clean<CR><CR><CR>
"C,C++ 按F2编译运行
map <F2> :call CompileRunGcc()<CR>
func! CompileRunGcc()
exec "w"
if &filetype == ‘c‘
exec "!gcc -g % -o %<"
exec ":copen"
elseif &filetype == ‘cpp‘
exec "!g++ % -o %<"
exec "! ./%<"
elseif &filetype == ‘java‘
exec "!javac %"
exec "!java %<"
elseif &filetype == ‘sh‘
:!./%
elseif &filetype == ‘py‘
exec "!python %"
exec "!python %<"
endif
endfunc
"插入模式下的非递归映射,自动补全的映射
inoremap <C-F> <C-X><C-D>
" 预防手误
cnoremap Q! q!
cnoremap Q1 q!
command Q q
command Wq wq
command WQ wq
command W w
3.退出。重新进入,并且在命令行中输入 PluginInstall 可以按前几个字母,然后按table 自动补全查找
4. 等待下载完成
5. 结束
原文:http://www.cnblogs.com/dilidingzhi/p/4125623.html