" Modeline and Notes { " vim: set sw=4 ts=4 sts=4 et tw=78 foldmarker={,} foldlevel=0 foldmethod=marker spell: " " __ _ _____ _ " ___ _ __ / _/ |___ / __ __(_)_ __ ___ " / __| '_ \| |_| | |_ \ _____\ \ / /| | '_ ` _ \ " \__ \ |_) | _| |___) |_____|\ V / | | | | | | | " |___/ .__/|_| |_|____/ \_/ |_|_| |_| |_| " |_| " " This is the personal .vimrc.bundles file of Steve Francia. " While much of it is beneficial for general use, I would " recommend picking out the parts you want and understand. " " This file imports the various plugins of spf13. If you " wish to alter which groups are imported, see vimrc.before. " If you wish to add or remove individual bundles, create " ~/.vimrc.bundles.local and `Bundle` or `UnBundle` as needed " from there. " " You can find me at http://spf13.com " } " Environment { " Basics { set nocompatible " Must be first line set background=dark " Assume a dark background " } " Windows Compatible { " On Windows, also use '.vim' instead of 'vimfiles'; this makes synchronization " across (heterogeneous) systems easier. if has('win32') || has('win64') set runtimepath=$HOME/.vim,$VIM/vimfiles,$VIMRUNTIME,$VIM/vimfiles/after,$HOME/.vim/after " Be nice and check for multi_byte even if the config requires " multi_byte support most of the time if has("multi_byte") " Windows cmd.exe still uses cp850. If Windows ever moved to " Powershell as the primary terminal, this would be utf-8 set termencoding=cp850 " Let Vim use utf-8 internally, because many scripts require this set encoding=utf-8 setglobal fileencoding=utf-8 " Windows has traditionally used cp1252, so it's probably wise to " fallback into cp1252 instead of eg. iso-8859-15. " Newer Windows files might contain utf-8 or utf-16 LE so we might " want to try them first. set fileencodings=ucs-bom,utf-8,utf-16le,cp1252,iso-8859-15 endif endif " } " Setup Bundle Support { " The next three lines ensure that the ~/.vim/bundle/ system works filetype off set rtp+=~/.vim/bundle/vundle call vundle#rc() " } " Add an UnBundle command { function! UnBundle(arg, ...) let bundle = vundle#config#init_bundle(a:arg, a:000) call filter(g:vundle#bundles, 'v:val["name_spec"] != "' . a:arg . '"') endfunction com! -nargs=+ UnBundle \ call UnBundle() " } " } " Bundles { " Deps { Bundle 'gmarik/vundle' Bundle 'MarcWeber/vim-addon-mw-utils' Bundle 'tomtom/tlib_vim' if executable('ag') Bundle 'mileszs/ack.vim' let g:ackprg = 'ag --nogroup --nocolor --column --smart-case' elseif executable('ack-grep') let g:ackprg="ack-grep -H --nocolor --nogroup --column" Bundle 'mileszs/ack.vim' elseif executable('ack') Bundle 'mileszs/ack.vim' endif " } " In your .vimrc.before.local file " list only the plugin groups you will use if !exists('g:spf13_bundle_groups') let g:spf13_bundle_groups=['general', 'writing', 'neocomplete', 'programming', 'php', 'ruby', 'python', 'javascript', 'html', 'misc',] endif " To override all the included bundles, add the following to your " .vimrc.bundles.local file: " let g:override_spf13_bundles = 1 if !exists("g:override_spf13_bundles") " General { if count(g:spf13_bundle_groups, 'general') Bundle 'scrooloose/nerdtree' Bundle 'altercation/vim-colors-solarized' Bundle 'spf13/vim-colors' Bundle 'tpope/vim-surround' Bundle 'tpope/vim-repeat' Bundle 'jiangmiao/auto-pairs' Bundle 'ctrlpvim/ctrlp.vim' Bundle 'tacahiroy/ctrlp-funky' Bundle 'kristijanhusak/vim-multiple-cursors' Bundle 'vim-scripts/sessionman.vim' Bundle 'matchit.zip' if (has("python") || has("python3")) && exists('g:spf13_use_powerline') && !exists('g:spf13_use_old_powerline') Bundle 'Lokaltog/powerline', {'rtp':'/powerline/bindings/vim'} elseif exists('g:spf13_use_powerline') && exists('g:spf13_use_old_powerline') Bundle 'Lokaltog/vim-powerline' else Bundle 'bling/vim-airline' endif Bundle 'bling/vim-bufferline' Bundle 'Lokaltog/vim-easymotion' Bundle 'jistr/vim-nerdtree-tabs' Bundle 'flazz/vim-colorschemes' Bundle 'mbbill/undotree' Bundle 'nathanaelkane/vim-indent-guides' if !exists('g:spf13_no_views') Bundle 'vim-scripts/restore_view.vim' endif Bundle 'mhinz/vim-signify' Bundle 'tpope/vim-abolish.git' Bundle 'osyo-manga/vim-over' Bundle 'kana/vim-textobj-user' Bundle 'kana/vim-textobj-indent' Bundle 'gcmt/wildfire.vim' endif " } " Writing { if count(g:spf13_bundle_groups, 'writing') Bundle 'reedes/vim-litecorrect' Bundle 'reedes/vim-textobj-sentence' Bundle 'reedes/vim-textobj-quote' Bundle 'reedes/vim-wordy' endif " } " General Programming { if count(g:spf13_bundle_groups, 'programming') " Pick one of the checksyntax, jslint, or syntastic Bundle 'scrooloose/syntastic' Bundle 'tpope/vim-fugitive' Bundle 'mattn/webapi-vim' Bundle 'mattn/gist-vim' Bundle 'scrooloose/nerdcommenter' Bundle 'tpope/vim-commentary' Bundle 'godlygeek/tabular' if executable('ctags') Bundle 'majutsushi/tagbar' endif endif " } " Snippets & AutoComplete { if count(g:spf13_bundle_groups, 'snipmate') Bundle 'garbas/vim-snipmate' Bundle 'honza/vim-snippets' " Source support_function.vim to support vim-snippets. if filereadable(expand("~/.vim/bundle/vim-snippets/snippets/support_functions.vim")) source ~/.vim/bundle/vim-snippets/snippets/support_functions.vim endif elseif count(g:spf13_bundle_groups, 'youcompleteme') Bundle 'Valloric/YouCompleteMe' Bundle 'SirVer/ultisnips' Bundle 'honza/vim-snippets' elseif count(g:spf13_bundle_groups, 'neocomplcache') Bundle 'Shougo/neocomplcache' Bundle 'Shougo/neosnippet' Bundle 'Shougo/neosnippet-snippets' Bundle 'honza/vim-snippets' elseif count(g:spf13_bundle_groups, 'neocomplete') Bundle 'Shougo/neocomplete.vim.git' Bundle 'Shougo/neosnippet' Bundle 'Shougo/neosnippet-snippets' Bundle 'honza/vim-snippets' endif " } " PHP { if count(g:spf13_bundle_groups, 'php') Bundle 'spf13/PIV' Bundle 'arnaud-lb/vim-php-namespace' Bundle 'beyondwords/vim-twig' endif " } " Python { if count(g:spf13_bundle_groups, 'python') " Pick either python-mode or pyflakes & pydoc Bundle 'klen/python-mode' Bundle 'yssource/python.vim' Bundle 'python_match.vim' Bundle 'pythoncomplete' endif " } " Javascript { if count(g:spf13_bundle_groups, 'javascript') Bundle 'elzr/vim-json' Bundle 'groenewege/vim-less' Bundle 'pangloss/vim-javascript' Bundle 'briancollins/vim-jst' Bundle 'kchmck/vim-coffee-script' endif " } " Scala { if count(g:spf13_bundle_groups, 'scala') Bundle 'derekwyatt/vim-scala' Bundle 'derekwyatt/vim-sbt' Bundle 'xptemplate' endif " } " Haskell { if count(g:spf13_bundle_groups, 'haskell') Bundle 'travitch/hasksyn' Bundle 'dag/vim2hs' Bundle 'Twinside/vim-haskellConceal' Bundle 'Twinside/vim-haskellFold' Bundle 'lukerandall/haskellmode-vim' Bundle 'eagletmt/neco-ghc' Bundle 'eagletmt/ghcmod-vim' Bundle 'Shougo/vimproc.vim' Bundle 'adinapoli/cumino' Bundle 'bitc/vim-hdevtools' endif " } " HTML { if count(g:spf13_bundle_groups, 'html') Bundle 'amirh/HTML-AutoCloseTag' Bundle 'hail2u/vim-css3-syntax' Bundle 'gorodinskiy/vim-coloresque' Bundle 'tpope/vim-haml' endif " } " Ruby { if count(g:spf13_bundle_groups, 'ruby') Bundle 'tpope/vim-rails' let g:rubycomplete_buffer_loading = 1 "let g:rubycomplete_classes_in_global = 1 "let g:rubycomplete_rails = 1 endif " } " Puppet { if count(g:spf13_bundle_groups, 'puppet') Bundle 'rodjek/vim-puppet' endif " } " Go Lang { if count(g:spf13_bundle_groups, 'go') "Bundle 'Blackrush/vim-gocode' Bundle 'fatih/vim-go' endif " } " Elixir { if count(g:spf13_bundle_groups, 'elixir') Bundle 'elixir-lang/vim-elixir' Bundle 'carlosgaldino/elixir-snippets' Bundle 'mattreduce/vim-mix' endif " } " Misc { if count(g:spf13_bundle_groups, 'misc') Bundle 'rust-lang/rust.vim' Bundle 'tpope/vim-markdown' Bundle 'spf13/vim-preview' Bundle 'tpope/vim-cucumber' Bundle 'cespare/vim-toml' Bundle 'quentindecock/vim-cucumber-align-pipes' Bundle 'saltstack/salt-vim' endif " } endif " } " Use fork bundles config if available { if filereadable(expand("~/.vimrc.bundles.fork")) source ~/.vimrc.bundles.fork endif " } " Use local bundles config if available { if filereadable(expand("~/.vimrc.bundles.local")) source ~/.vimrc.bundles.local endif " }