Skip to content

Instantly share code, notes, and snippets.

@zenware
Created July 17, 2016 05:59
Show Gist options
  • Save zenware/42a019d14fbdc609fef7c89e18699b09 to your computer and use it in GitHub Desktop.
Save zenware/42a019d14fbdc609fef7c89e18699b09 to your computer and use it in GitHub Desktop.
" Automatically setup vim-plug if it doesn't exist
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
endif
let s:cache_dir = get({}, 'cache_dir', '~/.nvim/cache')
function! s:get_cache_dir(suffix)
return resolve(expand(s:cache_dir . '/' / a:suffix))
endfunction
call plug#begin()
" Make sure to add Shougo/vimproc.vim
" Even though I plan on switching to neovim
" Learn about these, determine if necessary...
Plug 'tpope/vim-sensible'
Plug 'tpope/vim-surround'
Plug 'tpope/vim-repeat'
Plug 'tpope/vim-fugitive'
Plug 'tpope/vim-markdown'
Plug 'terryma/vim-multiple-cursors'
Plug 'bling/vim-airline'
Plug 'bling/vim-bufferline'
let g:airline#extensions#tabline#enabled = 1
if !exists('g:airline_symbols')
let g:airline_symbols = {}
endif
let g:airline_symbols.space = "\ua0"
Plug 'mhinz/vim-signify'
let g:signify_update_on_bufenter = 0
Plug 'Shougo/unite.vim'
let g:unite_data_directory = s:get_cache_dir('unite')
if executable('ag')
let g:unite_source_grep_command = 'ag'
elseif executable('ack')
let g:unite_source_grep_command = 'ack'
endif
let g:unite_source_grep_recursive_opt = ''
nnoremap <C-p> :Unite file_rec/async<cr>
" General
Plug 'scrooloose/nerdtree', {'on': 'NERDTreeToggle'}
Plug 'jistr/vim-nerdtree-tabs'
let NERDTreeShowHidden = 1
let NERDTreeQuitOnOpen = 0
let NERDTreeShowLineNumbers = 1
let NERDTreeChDirMode = 0
let NERDTreeShowBookmarks = 1
let NERDTreeBookmarksFile = s:get_cache_dir('NERDTreeBookmarks')
nnoremap <F2> :NERDTreeToggle<cr>
nnoremap <F3> :NERDTreeFind<cr>
Plug 'mhinz/vim-startify'
let g:startify_session_dir = s:get_cache_dir('sessions')
let g:startify_change_to_vcs_root = 1
let g:startify_show_sessions = 1
nnoremap <F1> :Startify<cr>
Plug 'mbbill/undotree'
let g:undotree_SetFocusWhenToggle = 1
nnoremap <silent> <F5> :UndotreeToggle<cr>
Plug 'nathanaelkane/vim-indent-guides'
let g:indent_guides_start_level = 1
let g:indent_guides_guide_size = 1
let g:indent_guides_enable_on_vim_startup = 0
let g:indent_guides_color_change_percent = 3
Plug 'osyo-manga/vim-over'
Plug 'gcmt/wildfire.vim'
Plug 'scrooloose/nerdcommenter'
Plug 'godlygeek/tabular'
" Map a ton of keys
Plug 'majutsushi/tagbar'
let g:tagbar_autoclose = 1
let g:tagbar_width = 55
nnoremap <silent> <F9> :TagbarToggle<cr>
" Linting, Autocomplete, & Snippets
Plug 'scrooloose/syntastic'
let g:syntastic_error_symbol = '✗'
let g:syntastic_style_error_symbol = '✠'
let g:syntastic_warning_symbol = '∆'
let g:syntastic_style_warning_symbol = '≈'
Plug 'honza/vim-snippets', {'for' : ['python', 'ruby', 'html', 'htmldjango', 'css']}
Plug 'Valloric/YouCompleteMe'
let g:ycm_complete_in_comments = 1
let g:ycm_seed_identifiers_with_syntax = 1
Plug 'SirVer/ultisnips'
let g:UltiSnipsExpandTrigger = "<tab>"
let g:UltiSnipsJumpForwardTrigger = "<tab>"
let g:UltiSnipsJumpBackwardTrigger = "<s-tab>"
let g:UltiSnipsSnippetsDir = '~/.vim/snippets'
" Web
Plug 'othree/html5.vim', {'for' : 'html'}
Plug 'hail2u/vim-css3-syntax', {'for' : 'html'}
Plug 'ap/vim-css-color'
Plug 'gregsexton/MatchTag', {'for' : 'html'}
Plug 'mattn/emmet-vim', {'for' : ['html', 'css']}
Plug 'elzr/vim-json'
Plug 'pangloss/vim-javascript'
Plug 'maksimr/vim-jsbeautify'
Plug 'mmalecki/vim-node.js'
" Haskell
Plug 'travitch/hasksyn'
Plug 'dag/vim2hs'
Plug 'Twinside/vim-haskellConceal'
Plug 'Twinside/vim-haskellFold'
Plug 'lukerandall/haskellmode-vim'
Plug 'eagletmt/neco-ghc'
Plug 'eagletmt/ghcmod-vim'
Plug 'Shougo/vimproc'
Plug 'adinapoli/cumino'
Plug 'bitc/vim-hdevtools'
" Rust
Plug 'wting/rust.vim'
" Misc
Plug 'cespare/vim-toml'
Plug 'quentindecock/vim-cucumber-align-pipes'
Plug 'saltstack/salt-vim'
call plug#end()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment