190 lines
4.5 KiB
VimL
190 lines
4.5 KiB
VimL
call plug#begin('~/.vim/plugs')
|
|
" statusline, tabline {{{
|
|
" vim-airline - improved status bar
|
|
Plug 'vim-airline/vim-airline'
|
|
let g:airline_left_sep=''
|
|
let g:airline_right_sep=''
|
|
|
|
" tabline.vim - sanely numbered tabs
|
|
Plug 'mkitt/tabline.vim'
|
|
" }}}
|
|
" completion {{{
|
|
" YouCompleteMe {{{
|
|
if !platform#is_windows()
|
|
" YouCompleteMe with parameter completion
|
|
Plug 'oblitum/YouCompleteMe', {'do': './install.py --clang-completer'}
|
|
|
|
let g:ycm_min_num_of_chars_for_completion=1
|
|
|
|
let g:ycm_complete_in_comments=1
|
|
let g:ycm_complete_in_strings=1
|
|
let g:ycm_collect_identifiers_from_comments_and_strings=1
|
|
let g:ycm_seed_identifiers_with_syntax=1
|
|
|
|
let g:ycm_autoclose_preview_window_after_insertion = 1
|
|
let g:ycm_always_populate_location_list=1
|
|
|
|
let g:ycm_error_symbol="-▸"
|
|
let g:ycm_warning_symbol="-▸"
|
|
" TODO Find YouCompleteMe Windows setup that works
|
|
endif
|
|
" }}}
|
|
|
|
" ultisnips - snippet engine
|
|
Plug 'SirVer/ultisnips' | Plug 'honza/vim-snippets'
|
|
|
|
" vim-cmake-completion - completion & help
|
|
Plug 'richq/vim-cmake-completion'
|
|
|
|
" vimomni - Completion for vimscript
|
|
Plug 'vim-scripts/vimomni', {'for': ['vim']}
|
|
" }}}
|
|
" format {{{
|
|
" format.vim - format with text objects
|
|
if platform#is_linux()
|
|
Plug 'git@bitbucket.org:infektor/format.vim.git'
|
|
else
|
|
Plug '~/Sandbox/format'
|
|
endif
|
|
" }}}
|
|
" text objects {{{
|
|
" vim-textobj-user - library for creating text objects
|
|
Plug 'kana/vim-textobj-user'
|
|
|
|
" vim-textobj-entire - Entire file text object
|
|
let g:textobj_entire_no_default_key_mappings = 1
|
|
Plug 'kana/vim-textobj-entire'
|
|
xmap a% <Plug>(textobj-entire-a)
|
|
omap a% <Plug>(textobj-entire-a)
|
|
xmap i% <Plug>(textobj-entire-i)
|
|
omap i% <Plug>(textobj-entire-i)
|
|
|
|
" vim-textobj-parameter - Parameter text object
|
|
Plug 'sgur/vim-textobj-parameter'
|
|
|
|
" vim-textobj-underscore - Underscope text object
|
|
Plug 'lucapette/vim-textobj-underscore'
|
|
|
|
" vim-textobj-comment - Comment block text object
|
|
Plug 'glts/vim-textobj-comment'
|
|
|
|
" vim-textobj-conflict - Conflict marker text object
|
|
Plug 'rhysd/vim-textobj-conflict'
|
|
" }}}
|
|
" tpope {{{
|
|
" vim-commentary - toggle comments
|
|
Plug 'tpope/vim-commentary'
|
|
|
|
" vim-surround - edit delimiters
|
|
Plug 'tpope/vim-surround'
|
|
|
|
" vim-repeat - better dot command
|
|
Plug 'tpope/vim-repeat'
|
|
|
|
" vim-fugitive - git wrapper
|
|
Plug 'tpope/vim-fugitive'
|
|
|
|
" vim-eunuch - unix command warppers
|
|
Plug 'tpope/vim-eunuch'
|
|
|
|
" vim-vinegar - improved directory browser
|
|
Plug 'tpope/vim-vinegar'
|
|
|
|
" vim-abolish - camelCase to under_score & stuff
|
|
Plug 'tpope/vim-abolish'
|
|
|
|
" vim-unimpaired - for pairs of tasks
|
|
Plug 'tpope/vim-unimpaired'
|
|
|
|
" vim-sensible - sane default settings
|
|
Plug 'tpope/vim-sensible'
|
|
|
|
" vim-speeddating - sane date manipulation
|
|
Plug 'tpope/vim-speeddating'
|
|
" }}}
|
|
" utility {{{
|
|
" fzf.vim - Fuzzy finder {{{
|
|
Plug 'junegunn/fzf', {'dir': '~/.fzf', 'do': './install --all --no-update-rc'}
|
|
Plug 'junegunn/fzf.vim'
|
|
" }}}
|
|
|
|
" vim-notes - easy note taking {{{
|
|
Plug 'xolox/vim-notes' | Plug 'xolox/vim-misc'
|
|
|
|
let g:notes_directories = ['~/Sync/Notes']
|
|
let g:notes_title_sync = 'rename_file'
|
|
let g:notes_word_boundries = 1
|
|
|
|
hi link notesTodo Todo
|
|
hi link notesDoneMarker Note
|
|
hi link notesXXX Important
|
|
" }}}
|
|
|
|
if !platform#is_windows()
|
|
" Seemless vim/tmux pane navigation
|
|
Plug 'christoomey/vim-tmux-navigator'
|
|
|
|
" Enable focus events when in tmux session
|
|
Plug 'tmux-plugins/vim-tmux-focus-events'
|
|
endif
|
|
|
|
" ListToggle - toggle quickfix and location lists
|
|
Plug 'Valloric/ListToggle'
|
|
|
|
" auto-pairs - paired delimiters
|
|
Plug 'jiangmiao/auto-pairs'
|
|
|
|
" vim-matchit - Improved % matching
|
|
Plug 'opennota/vim-matchit'
|
|
|
|
" tabular - Tabulaize text with regex
|
|
Plug 'godlygeek/tabular'
|
|
|
|
" xterm-color-table.vim - view term and hex colors
|
|
Plug 'guns/xterm-color-table.vim'
|
|
" }}}
|
|
" syntax {{{
|
|
" Improved syntax for C/C++
|
|
Plug 'kbenzie/vim-native-syntax'
|
|
let g:native_syntax#highlight_operators=1
|
|
|
|
" DoxygenToolkit.vim - documentation stubs
|
|
Plug 'vim-scripts/DoxygenToolkit.vim'
|
|
let g:DoxygenToolkit_commentType="C++"
|
|
|
|
" markdown live browser preview
|
|
Plug 'suan/vim-instant-markdown'
|
|
|
|
" markdown folding
|
|
Plug 'nelstrom/vim-markdown-folding'
|
|
let g:markdown_fenced_languages=['cpp', 'c', 'cmake', 'sh', 'vim', 'python']
|
|
|
|
" SimplyFold - python folding
|
|
Plug 'tmhedberg/SimpylFold'
|
|
|
|
" Syntax checking for python
|
|
Plug 'nvie/vim-flake8', {'for': ['python']}
|
|
|
|
" Folding for json
|
|
Plug 'elzr/vim-json'
|
|
|
|
" cmake - syntax
|
|
Plug 'rperier/vim-cmake-syntax'
|
|
|
|
" GLSL syntax
|
|
Plug 'tikhomirov/vim-glsl'
|
|
|
|
" HLSL syntax
|
|
Plug 'beyondmarc/hlsl.vim'
|
|
|
|
" OpenCL C syntax
|
|
Plug 'frasercrmck/opencl.vim'
|
|
" }}}
|
|
" local {{{
|
|
" spir-vim
|
|
Plug '~/spir-vim'
|
|
" jira.vim
|
|
Plug '~/jira.vim'
|
|
" }}}
|
|
call plug#end()
|