diff --git a/vimrc b/vimrc index e4e0f67..5898808 100644 --- a/vimrc +++ b/vimrc @@ -3,161 +3,36 @@ let mapleader=" " " Plugins 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_key_list_select_completion = ['', ''] let g:ycm_key_list_previous_completion = ['', ''] 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', {'for': ['cmake']} - " vimomni - Completion for vimscript Plug 'vim-scripts/vimomni', {'for': ['vim']} -" }}} -" format {{{ -" format.vim - format with text objects -if isdirectory(expand('~/Sandbox/format')) - Plug '~/Sandbox/format' -else - Plug 'git@bitbucket.org:infektor/format.vim.git' -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' - -" vim-jdaddy - text object & formatting for json -Plug 'tpope/vim-jdaddy' -" }}} -" 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 {{{ -" DoxygenToolkit.vim - documentation stubs -Plug 'vim-scripts/DoxygenToolkit.vim' -let g:DoxygenToolkit_commentType="C++" - -" markdown live browser preview -Plug 'suan/vim-instant-markdown' -let g:markdown_fenced_languages=['cpp', 'c', 'cmake', 'sh', 'vim', 'python'] " syntastic - syntax checker Plug 'scrooloose/syntastic' @@ -166,24 +41,90 @@ let g:syntastic_check_on_open = 1 let g:syntastic_check_on_wq = 0 let g:syntastic_python_checkers = ['pylint'] -" Folding for json -Plug 'elzr/vim-json' +" format.vim - format with text objects +if isdirectory(expand('~/Sandbox/format')) + Plug '~/Sandbox/format' +else + Plug 'git@bitbucket.org:infektor/format.vim.git' +endif -" cmake - syntax -Plug 'rperier/vim-cmake-syntax' +" 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' -" GLSL syntax +" 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 to mixedCase +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' +" vim-jdaddy - text object & formatting for json +Plug 'tpope/vim-jdaddy' + +" 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 + +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 + +" auto-pairs - paired delimiters +Plug 'jiangmiao/auto-pairs' +" vim-matchit - Improved % matching +Plug 'opennota/vim-matchit' +" tabular - Tabulaize text with regex +Plug 'godlygeek/tabular' +" DoxygenToolkit.vim - documentation stubs +Plug 'vim-scripts/DoxygenToolkit.vim', {'for': ['cpp', 'c']} +let g:DoxygenToolkit_commentType="C++" + +" markdown live browser preview +Plug 'suan/vim-instant-markdown' +let g:markdown_fenced_languages=['cpp', 'c', 'cmake', 'sh', 'vim', 'python'] + +" xterm-color-table.vim - view term and hex colors +Plug 'guns/xterm-color-table.vim' + +" CMake, GLSL, HLSL, OpenCL C syntax +Plug 'rperier/vim-cmake-syntax', {'for': ['cmake']} Plug 'tikhomirov/vim-glsl' - -" HLSL syntax Plug 'beyondmarc/hlsl.vim' - -" OpenCL C syntax Plug 'frasercrmck/opencl.vim' -" }}} -" local plugins {{{ + if filereadable(expand('~/.local_plugins.vim')) source ~/.local_plugins.vim endif -" }}} + call plug#end()