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% (textobj-entire-a) omap a% (textobj-entire-a) xmap i% (textobj-entire-i) omap i% (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()