找了好久,有效,留存。
1、安装vundle:git clone https://github.com/gmarik/vundle.git ~/.vim/bundle/vundle
2、.vimrc配置文件:~/.vimrc是VIM的配置文件,如果这个配置文件不存在,我们可以自行创建。安装好了vundle,需要在~/.vimrc配置文件中添加vundle支持。所以,在~/.vimrc中添加代码如下:
filetype off
set rtp+=~/.vim/bundle/vundle/
call vundle#rc()
if filereadable(expand("~/.vimrc.bundles"))
source ~/.vimrc.bundles
endif
3、.vimrc.bundles配置文件
首先创建文件~/.vimrc.bundles,然后添加代码如下:
if &compatible
set nocompatible
end
filetype off
set rtp+=~/.vim/bundle/vundle/
call vundle#rc()
" Let Vundle manage Vundle
Bundle 'gmarik/vundle'
" Define bundles via Github repos
" 标签导航
Bundle 'majutsushi/tagbar'
Bundle 'vim-scripts/ctags.vim'
" 静态代码分析
Bundle 'scrooloose/syntastic'
" 文件搜索
Bundle 'kien/ctrlp.vim'
" 目录树导航
Bundle "scrooloose/nerdtree"
" 美化状态栏
Bundle "Lokaltog/vim-powerline"
" 主题风格
Bundle "altercation/vim-colors-solarized"
" python自动补全
Bundle 'davidhalter/jedi-vim'
Bundle "klen/python-mode"
" 括号匹配高亮
Bundle 'kien/rainbow_parentheses.vim'
" 可视化缩进
Bundle 'nathanaelkane/vim-indent-guides'
if filereadable(expand("~/.vimrc.bundles.local"))
source ~/.vimrc.bundles.local
endif
filetype on
4、安装插件
我们已经指定好了各个插件的路径,接下里就是安装各个插件了。在shell中输入vim,进入命令行模式输入BundleInstall。
5、tagbar依赖于ctags,所以我们还需要用指令安装ctags :sudo apt-get install ctags
6、插件配置
已经安装好了各个插件,接下里就可以直接用了吗?答案是否定的,我们还需要继续对自己安装的插件进行配置。配置这里也很简单,下面是我的配置,编写~/.vimrc:
filetype off
set rtp+=~/.vim/bundle/vundle/
call vundle#rc()
if filereadable(expand("~/.vimrc.bundles"))
source ~/.vimrc.bundles
endif
" tagbar标签导航
nmap
let g:tagbar_ctags_bin='/usr/bin/ctags'
let g:tagbar_width=30
autocmd BufReadPost *.cpp,*.c,*.h,*.hpp,*.cc,*.cxx call tagbar#autoopen()
let g:jedi#auto_initialization = 1
" 主题 solarized
let g:solarized_termtrans=1
let g:solarized_contrast="normal"
let g:solarized_visibility="normal"
" 配色方案
set background=dark
set t_Co=256
colorscheme solarized
" 目录文件导航NERD-Tree
" \nt 打开nerdree窗口,在左侧栏显示
nmap
let NERDTreeHighlightCursorline=1
let NERDTreeIgnore=[ '\.pyc$', '\.pyo$', '\.obj$', '\.o$', '\.so$', '\.egg$', '^\.git$', '^\.svn$', '^\.hg$' ]
let g:netrw_home='~/bak'
"close vim if the only window left open is a NERDTree
autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTreeType") && b:NERDTreeType == "primary") | q | end
" ctrlp文件搜索
" 打开ctrlp搜索
let g:ctrlp_map = '
let g:ctrlp_cmd = 'CtrlP'
" 相当于mru功能,show recently opened files
map
" set wildignore+=*/tmp/*,*.so,*.swp,*.zip " MacOSX/Linux"
let g:ctrlp_custom_ignore = {
\ 'dir': '\v[\/]\.(git|hg|svn|rvm)$',
\ 'file': '\v\.(exe|so|dll|zip|tar|tar.gz)$',
\ }
"\ 'link': 'SOME_BAD_SYMBOLIC_LINKS',
let g:ctrlp_working_path_mode=0
let g:ctrlp_match_window_bottom=1
let g:ctrlp_max_height=15
let g:ctrlp_match_window_reversed=0
let g:ctrlp_mruf_max=500
let g:ctrlp_follow_symlinks=1
" vim-powerline美化状态
" let g:Powerline_symbols = 'fancy'
let g:Powerline_symbols = 'unicode'
" 括号匹配高亮
let g:rbpt_colorpairs = [
\ ['brown', 'RoyalBlue3'],
\ ['Darkblue', 'SeaGreen3'],
\ ['darkgray', 'DarkOrchid3'],
\ ['darkgreen', 'firebrick3'],
\ ['darkcyan', 'RoyalBlue3'],
\ ['darkred', 'SeaGreen3'],
\ ['darkmagenta', 'DarkOrchid3'],
\ ['brown', 'firebrick3'],
\ ['gray', 'RoyalBlue3'],
\ ['black', 'SeaGreen3'],
\ ['darkmagenta', 'DarkOrchid3'],
\ ['Darkblue', 'firebrick3'],
\ ['darkgreen', 'RoyalBlue3'],
\ ['darkcyan', 'SeaGreen3'],
\ ['darkred', 'DarkOrchid3'],
\ ['red', 'firebrick3'],
\ ]
let g:rbpt_max = 40
let g:rbpt_loadcmd_toggle = 0
" 可视化缩进
let g:indent_guides_enable_on_vim_startup = 0 " 默认关闭
let g:indent_guides_guide_size = 1 " 指定对齐线的尺寸
let g:indent_guides_start_level = 2 " 从第二层开始可视化显示缩进
你可以根据自己的喜好设置快捷键,
依次按键\tb,就会调出标签导航;
依次按键\ff,就会调出文件搜索;
依次按键\nt,就会调出目录导航。
7、在~/.vimrc最后一行追击代码如下:
" 运行文件
map
上述代码的意思就是,在VIM的正常模式下,按F5就会保存文件并使用python3运行当前文件,并将结果输出到当前界面。
注意,:!python3表示运行系统命令python3,如果你没有安装python2和python3共存,此处只写python即可。