From ba490aa7b704927482d2c6b9dac659988622257c Mon Sep 17 00:00:00 2001 From: ViViDboarder Date: Tue, 28 Apr 2015 12:01:33 -0700 Subject: [PATCH] Move some of the more complicated plugin settings to their own rcs --- .gitignore | 3 ++ vim/rc/keymap.rc.vim | 6 +-- vim/rc/plugins.rc.vim | 65 ++++++++------------------------- vim/rc/plugins/ctrlp.rc.vim | 1 - vim/rc/plugins/neocomps.rc.vim | 29 +++++++++++++++ vim/rc/plugins/syntastic.rc.vim | 15 ++++++++ vimrc | 4 +- 7 files changed, 66 insertions(+), 57 deletions(-) create mode 100644 vim/rc/plugins/neocomps.rc.vim create mode 100644 vim/rc/plugins/syntastic.rc.vim diff --git a/.gitignore b/.gitignore index 45aadfa..276c4bf 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,8 @@ +*.log +tags vim/.netrwhist vim/autoload/plug.vim +vim/autoload/plug.vim.old vim/backup/*~ vim/plugged/* vim/rc/*.local.rc.vim diff --git a/vim/rc/keymap.rc.vim b/vim/rc/keymap.rc.vim index 49c63b5..279d28a 100644 --- a/vim/rc/keymap.rc.vim +++ b/vim/rc/keymap.rc.vim @@ -9,7 +9,7 @@ cmap cwd lcd %:p:h cmap cd. lcd %:p:h " Bind Make to F5 like other IDEs -nnoremap :Make! +nnoremap :make " Remap Ctrl+Space for auto Complete inoremap @@ -64,8 +64,8 @@ nmap gb :bn nmap gB :bp " Command to display TODO tags in project -command Todo Ag! TODO +command Todo grep TODO " Easy update tags -command TagsUpdate Dispatch ctags -R . +command TagsUpdate !ctags -R . diff --git a/vim/rc/plugins.rc.vim b/vim/rc/plugins.rc.vim index 935f7cd..20628c0 100644 --- a/vim/rc/plugins.rc.vim +++ b/vim/rc/plugins.rc.vim @@ -29,7 +29,7 @@ Plug 'sandeepcr529/Buffet.vim', { 'on': 'Bufferlist' } Plug 'ctrlpvim/ctrlp.vim' -call s:source_rc('plugins/ctrlp.rc.vim') +call s:smart_source_rc('plugins/ctrlp') " ag / ack {{ if executable('ag') @@ -38,13 +38,15 @@ if executable('ag') nmap a :Ag nmap i* :Ag-i'\b\b' nmap * :Ag'\b\b' + command! Todo Ag! TODO " }} -else +elseif executable('ack') Plug 'mileszs/ack.vim' " {{ nmap a :Ack nmap i* :Ack-i'\b\b' nmap * :Ack'\<\>' + command! Todo Ack! TODO " }} endif " }} @@ -52,40 +54,11 @@ endif " Autocomplete {{ if has('lua') Plug 'Shougo/neocomplete.vim' - " {{ - let g:acp_enableAtStartup = 0 - let g:neocomplete#enable_at_startup = 1 - "let g:neocomplete#enable_smart_case = 1 - let g:neocomlete#max_list=10 - " }} + call s:smart_source_rc('plugins/neocomps') else Plug 'Shougo/neocomplcache.vim' - " {{ - let g:neocomplcache_enable_at_startup = 1 - "let g:neocomplcache_enable_smart_case = 1 - let g:neocomplcache_max_list = 10 - "let g:neocomplcache_enable_camel_case_completion = 1 - let g:neocomplcache_enable_fuzzy_completion = 1 - if !exists('g:neocomplcache_force_omni_patterns') - let g:neocomplcache_force_omni_patterns = {} - endif - let g:neocomplcache_force_omni_patterns.python = - \ '\%([^. \t]\.\|^\s*@\|^\s*from\s.\+import \|^\s*from \|^\s*import \)\w*' - " alternative pattern: '\h\w*\|[^. \t]\.\w*' - " }} + call s:smart_source_rc('plugins/neocomps') end -" {{ - " Enable omni completion. - autocmd FileType css setlocal omnifunc=csscomplete#CompleteCSS - autocmd FileType html,markdown setlocal omnifunc=htmlcomplete#CompleteTags - autocmd FileType javascript setlocal omnifunc=javascriptcomplete#CompleteJS - " Skip python because we have jedi-vim - "autocmd FileType python setlocal omnifunc=pythoncomplete#Complete - autocmd FileType python setlocal omnifunc=jedi#completions - autocmd FileType ruby setlocal omnifunc=rubycomplete#Complete - autocmd FileType xml setlocal omnifunc=xmlcomplete#CompleteTags - -" }} " Programming {{ Plug 'majutsushi/tagbar' @@ -97,30 +70,18 @@ Plug 'majutsushi/tagbar' " syntastic {{ if !has('nvim') " Only use if not neovim, on neovim we have Neomake - Plug 'scrooloose/syntastic' " {{ - let g:syntastic_html_tidy_ignore_errors = [ - \ 'proprietary attribute "ng-show"', - \ 'proprietary attribute "ng-controller"', - \ 'proprietary attribute "ng-repeat"', - \ 'proprietary attribute "ng-app"', - \ 'proprietary attribute "ng-click"' - \ ] - let g:syntastic_python_checkers = ['flake8'] - let g:syntastic_python_flake8_args='--max-line-length=80' - " let g:syntastic_python_checkers = ['pep8'] - " " let g:syntastic_python_pep8_args='--ignore=E501' - " " let g:syntastic_python_checkers = ['jshint'] - " " let g:syntastic_javascript_jshint_args='--ignore=E501' - " - " }} + Plug 'scrooloose/syntastic' + call s:smart_source_rc('plugins/syntastic') endif " }} -Plug 'tomtom/tcomment_vim', { 'on': ['TComment', 'TCommentBlock'] } +Plug 'tomtom/tcomment_vim' +" , { 'on': ['TComment', 'TCommentBlock'] } " {{ nnoremap // :TComment vnoremap // :TCommentBlock " }} " }} +Plug 'tpope/vim-surround' " GUI {{ Plug 'bling/vim-airline' @@ -209,10 +170,14 @@ if has('nvim') Plug 'benekastah/neomake' " {{ nmap nm :Neomake + nnoremap :Neomake let g:neomake_python_makers = ['flake8'] + " }} else Plug 'tpope/vim-dispatch' + nnoremap :Make + command! TagsUpdate Dispatch ctags -R . endif " }} Plug 'Shougo/vimproc.vim', { 'do': 'make' } diff --git a/vim/rc/plugins/ctrlp.rc.vim b/vim/rc/plugins/ctrlp.rc.vim index 1d810b0..b826ce6 100644 --- a/vim/rc/plugins/ctrlp.rc.vim +++ b/vim/rc/plugins/ctrlp.rc.vim @@ -10,7 +10,6 @@ let g:ctrlp_dont_split = 'netrw' let g:ctrlp_extensions = ['tag', 'buffertag'] " Support Apex language let g:ctrlp_buftag_types = { - \ 'apex' : '--language-force=c#', \ 'go' : { \ 'bin' : 'gotags', \ 'args' : '-sort -silent', diff --git a/vim/rc/plugins/neocomps.rc.vim b/vim/rc/plugins/neocomps.rc.vim new file mode 100644 index 0000000..11a7bd0 --- /dev/null +++ b/vim/rc/plugins/neocomps.rc.vim @@ -0,0 +1,29 @@ +" Shared plugin configuration for Shougo/neocomplete and Shougo/neocomplcache +if exists('loaded_neocomplete') + let g:acp_enableAtStartup = 0 + let g:neocomplete#enable_at_startup = 1 + "let g:neocomplete#enable_smart_case = 1 + let g:neocomlete#max_list=10 +elseif exists('loaded_neocomplcache') + let g:neocomplcache_enable_at_startup = 1 + "let g:neocomplcache_enable_smart_case = 1 + let g:neocomplcache_max_list = 10 + "let g:neocomplcache_enable_camel_case_completion = 1 + let g:neocomplcache_enable_fuzzy_completion = 1 + if !exists('g:neocomplcache_force_omni_patterns') + let g:neocomplcache_force_omni_patterns = {} + endif + let g:neocomplcache_force_omni_patterns.python = + \ '\%([^. \t]\.\|^\s*@\|^\s*from\s.\+import \|^\s*from \|^\s*import \)\w*' + " alternative pattern: '\h\w*\|[^. \t]\.\w*' +endif + +" Enable omni completion. +autocmd FileType css setlocal omnifunc=csscomplete#CompleteCSS +autocmd FileType html,markdown setlocal omnifunc=htmlcomplete#CompleteTags +autocmd FileType javascript setlocal omnifunc=javascriptcomplete#CompleteJS +" Skip python because we have jedi-vim +"autocmd FileType python setlocal omnifunc=pythoncomplete#Complete +autocmd FileType python setlocal omnifunc=jedi#completions +autocmd FileType ruby setlocal omnifunc=rubycomplete#Complete +autocmd FileType xml setlocal omnifunc=xmlcomplete#CompleteTags diff --git a/vim/rc/plugins/syntastic.rc.vim b/vim/rc/plugins/syntastic.rc.vim new file mode 100644 index 0000000..91f701c --- /dev/null +++ b/vim/rc/plugins/syntastic.rc.vim @@ -0,0 +1,15 @@ +if exists('loaded_syntastic') + let g:syntastic_html_tidy_ignore_errors = [ + \ 'proprietary attribute "ng-show"', + \ 'proprietary attribute "ng-controller"', + \ 'proprietary attribute "ng-repeat"', + \ 'proprietary attribute "ng-app"', + \ 'proprietary attribute "ng-click"' + \ ] + let g:syntastic_python_checkers = ['flake8'] + let g:syntastic_python_flake8_args='--max-line-length=80' + " let g:syntastic_python_checkers = ['pep8'] + " " let g:syntastic_python_pep8_args='--ignore=E501' + " " let g:syntastic_python_checkers = ['jshint'] + " " let g:syntastic_javascript_jshint_args='--ignore=E501' +endif diff --git a/vimrc b/vimrc index 06f8ee6..9f44c59 100644 --- a/vimrc +++ b/vimrc @@ -44,11 +44,9 @@ if empty(glob('~/.vim/autoload/plug.vim')) endif call s:source_rc('init.rc.vim') - +call s:smart_source_rc('keymap') call plug#begin() call s:smart_source_rc('plugins') call plug#end() - call s:smart_source_rc('edit') -call s:smart_source_rc('keymap') call s:smart_source_rc('ui')