|
|
if empty(glob('~/.vim/autoload/plug.vim')) |
|
|
silent !curl -fLo ~/.vim/autoload/plug.vim --create-dirs |
|
|
\ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim |
|
|
autocmd VimEnter * PlugInstall --sync | source $MYVIMRC |
|
|
endif |
|
|
|
|
|
set nocompatible " be iMproved, required |
|
|
|
|
|
" set the runtime path to include Vundle and initialize |
|
|
if has("win32") |
|
|
call plug#begin('~/vimfiles/bundle') |
|
|
else |
|
|
call plug#begin('~/.vim/bundle') |
|
|
endif |
|
|
" alternatively, pass a path where Vundle should install plugins |
|
|
"call vundle#begin('~/some/path/here') |
|
|
|
|
|
|
|
|
" The following are examples of different formats supported. |
|
|
" Keep Plugin commands between vundle#begin/end. |
|
|
" plugin on GitHub repo |
|
|
" If you need Vim help for vim-plug itself (e.g. :help plug-options), register |
|
|
" vim-plug as a plugin. |
|
|
Plug 'junegunn/vim-plug' |
|
|
"Plug 'tpope/vim-fugitive' |
|
|
Plug 'tpope/vim-repeat' |
|
|
Plug 'tpope/vim-surround' |
|
|
" Plugin 'vim-perl/vim-perl' |
|
|
" markdown |
|
|
Plug 'godlygeek/tabular' |
|
|
Plug 'plasticboy/vim-markdown' |
|
|
Plug 'scrooloose/nerdtree' |
|
|
Plug 'scrooloose/nerdcommenter' |
|
|
" 目录树美化 |
|
|
Plug 'tiagofumo/vim-nerdtree-syntax-highlight' |
|
|
Plug 'davidhalter/jedi-vim' |
|
|
Plug 'ervandew/supertab' |
|
|
Plug 'Raimondi/delimitMate' |
|
|
Plug 'tomasr/molokai' |
|
|
Plug 'terryma/vim-multiple-cursors' |
|
|
|
|
|
"show tabs |
|
|
Plug 'nathanaelkane/vim-indent-guides' |
|
|
Plug 'vim-scripts/taglist.vim' |
|
|
Plug 'WolfgangMehner/vim-plugins' |
|
|
" Plugin 'powerline/powerline', {'rtp': 'powerline/bindings/vim/'} |
|
|
" Plugin 'Lokaltog/vim-powerline' |
|
|
" Plugin 'bling/vim-airline' |
|
|
|
|
|
" plugin from http://vim-scripts.org/vim/scripts.html |
|
|
Plug 'vim-scripts/L9' |
|
|
Plug 'vim-scripts/perl-support.vim' |
|
|
Plug 'christoomey/vim-tmux-navigator' |
|
|
Plug 'vim-airline/vim-airline' |
|
|
Plug 'vim-airline/vim-airline-themes' |
|
|
" syntax highlight for Dockerfile |
|
|
Plug 'ekalinin/Dockerfile.vim' |
|
|
Plug 'hotoo/pangu.vim' |
|
|
Plug 'chr4/nginx.vim' |
|
|
Plug 'mileszs/ack.vim' |
|
|
" Plug 'jlanzarotta/bufexplorer' |
|
|
|
|
|
Plug 'mikelue/vim-maven-plugin' |
|
|
" Plug 'w0rp/ale' |
|
|
Plug 'mattn/emmet-vim', { 'for': ['html', 'javascript'] } |
|
|
Plug 'MarcWeber/vim-addon-mw-utils' |
|
|
Plug 'tomtom/tlib_vim' |
|
|
Plug 'garbas/vim-snipmate' |
|
|
Plug 'ntpeters/vim-better-whitespace' |
|
|
Plug '907th/vim-auto-save' |
|
|
Plug 'junegunn/fzf', { 'dir': '~/.fzf', 'do': '.install -all'} |
|
|
Plug 'junegunn/fzf.vim' |
|
|
Plug 'Valloric/YouCompleteMe', { 'do': './install.py' } |
|
|
|
|
|
" Git plugin not hosted on GitHub |
|
|
Plug 'git://git.wincent.com/command-t.git' |
|
|
|
|
|
call plug#end() |
|
|
|
|
|
|
|
|
" Plugin settings |
|
|
|
|
|
" plasticboy/vim-markdown |
|
|
" disable folding |
|
|
let g:vim_markdown_folding_disabled=1 |
|
|
" Highlight YAML frontmatter as used by Jekyll |
|
|
let g:vim_markdown_frontmatter=1 |
|
|
|
|
|
" intend guides |
|
|
let g:indent_guides_enable_on_vim_startup = 1 |
|
|
|
|
|
" jedi-vim plugin config |
|
|
let g:jedi#completions_command = "<C-N>" |
|
|
let g:jedi#popup_on_dot = 0 |
|
|
|
|
|
" syntastic setting |
|
|
set statusline+=%#warningmsg# |
|
|
|
|
|
let g:syntastic_always_populate_loc_list = 1 |
|
|
let g:syntastic_auto_loc_list = 1 |
|
|
let g:syntastic_check_on_open = 1 |
|
|
let g:syntastic_check_on_wq = 0 |
|
|
|
|
|
" nerd comment |
|
|
" Add spaces after comment delimiters by default |
|
|
let g:NERDSpaceDelims = 1 |
|
|
|
|
|
" Use compact syntax for prettified multi-line comments |
|
|
let g:NERDCompactSexyComs = 1 |
|
|
|
|
|
" Align line-wise comment delimiters flush left instead of following code indentation |
|
|
let g:NERDDefaultAlign = 'left' |
|
|
|
|
|
" Set a language to use its alternate delimiters by default |
|
|
let g:NERDAltDelims_java = 1 |
|
|
|
|
|
" Add your own custom formats or override the defaults |
|
|
let g:NERDCustomDelimiters = { 'c': { 'left': '/**','right': '*/' } } |
|
|
|
|
|
" Allow commenting and inverting empty lines (useful when commenting a region) |
|
|
let g:NERDCommentEmptyLines = 1 |
|
|
|
|
|
" Enable trimming of trailing whitespace when uncommenting |
|
|
let g:NERDTrimTrailingWhitespace = 1 |
|
|
|
|
|
" Highlight Cursor line |
|
|
let g:NERDTreeHighlightCursorline = 1 |
|
|
" Show hidden files |
|
|
let NERDTreeShowHidden=1 |
|
|
" NERDTree will recursively open dirs with only one child |
|
|
let NERDTreeCascadeOpenSingleChildDir=1 |
|
|
|
|
|
|
|
|
"" airline settings. |
|
|
let g:airline_theme = 'luna' |
|
|
let g:airline_powerline_fonts = 1 |
|
|
|
|
|
if !exists('g:airline_symbols') |
|
|
let g:airline_symbols = {} |
|
|
endif |
|
|
|
|
|
let g:airline_left_sep = '' |
|
|
let g:airline_left_alt_sep = '' |
|
|
let g:airline_right_sep = '' |
|
|
let g:airline_right_alt_sep = '' |
|
|
let g:airline_symbols.branch = '' |
|
|
let g:airline_symbols.readonly = '' |
|
|
let g:airline_symbols.linenr = '' |
|
|
let g:airline#extensions#tabline#enabled = 1 |
|
|
" show absolute file path in status line |
|
|
let g:airline_section_c = '%<%F%m %#__accent_red#%{airline#util#wrap(airline#parts#readonly(),0)}%#__restore__#' |
|
|
" show tab number in tab line |
|
|
let g:airline#extensions#tabline#tab_nr_type = 1 |
|
|
|
|
|
" Write all buffers before navigating from Vim to tmux pane |
|
|
let g:tmux_navigator_save_on_switch = 2 |
|
|
|
|
|
" Disable tmux navigator when zooming the Vim pane |
|
|
let g:tmux_navigator_disable_when_zoomed = 1 |
|
|
|
|
|
" ack.vim |
|
|
" 使用 leader + a search |
|
|
cnoreabbrev Ack Ack! |
|
|
nnoremap <Leader>a :Ack!<Space> |
|
|
|
|
|
if executable('ag') |
|
|
let g:ackprg = 'ag --vimgrep --nogroup --column' |
|
|
endif |
|
|
|
|
|
" 高亮搜索关键词 |
|
|
let g:ackhighlight = 1 |
|
|
" 修改预览窗口高度 |
|
|
let g:ack_qhandler = "botright copen 10" |
|
|
" 在QuickFix窗口使用快捷键以后,自动关闭QuickFix窗口 |
|
|
let g:ack_autoclose = 1 |
|
|
" 使用ack的空白搜索,即不添加任何参数时对光标下的单词进行搜索,默认值为1,表示开启,置0以后使用空白搜索将返回错误信息 |
|
|
let g:ack_use_cword_for_empty_search = 1 |
|
|
" 部分功能受限,对大项目搜索速度较慢时可以尝试开启 |
|
|
let g:ack_use_dispatch = 1 |
|
|
" autofold results |
|
|
let g:ack_autofold_results = 1 |
|
|
|
|
|
let g:auto_save = 1 " enable AutoSave on Vim startup |
|
|
|
|
|
|