" #vim-hexokinase {{{ " https://github.com/RRethy/vim-hexokinase Plug 'RRethy/vim-hexokinase' let g:Hexokinase_highlighters = ['virtual'] let g:Hexokinase_virtualText = '██████' nnoremap cc :HexokinaseToggle nnoremap cr :HexokinaseRefresh "}}} " #ALE {{{ " https://github.com/w0rp/ale Plug 'w0rp/ale' " let g:ale_completion_enabled = 1 let g:ale_disable_lsp = 1 let g:ale_sign_column_always = 1 let g:ale_open_list = 0 let g:ale_fix_on_save = 1 let g:ale_fix_on_save_ignore = { 'vue': ['eslint'] } let g:ale_linters = {'scss': [], 'javascript': ['eslint'], 'json': ['jsonlint'], 'php':['php'], 'python': [], 'html':['htmlhint'], 'vue': []} let g:ale_fixers = {'scss': ['prettier'], 'javascript': ['eslint'], 'json': ['jq'], 'python': [], 'vue': []} let g:ale_html_htmlhint_options = '-c ~/.htmlhintrc --format=unix' let g:ale_python_pyls_config = { \ 'pyls': { \ 'pycodestyle': { 'enabled': v:false }, \ 'configurationSources': ['flake8'] \ } \ } let g:ale_sign_error = 'Α' let g:ale_sign_warning = 'α' nmap gh (ale_hover) nmap aa (ale_detail) nmap af (ale_fix) nmap ar (ale_find_references) nmap ad (ale_go_to_definition) nmap aD (ale_documentation) nmap an (ale_next) nmap ap (ale_previous) "}}} " #coc.nvim{{{ " https://github.com/neoclide/coc.nvim " installed extensions: " coc-vetur " coc-python " coc-phpls " coc-json " coc-css " coc-eslint Plug 'neoclide/coc.nvim', {'tag': '*', 'do': { -> coc#util#install()}} let g:coc_snippet_next = '' let g:coc_snippet_prev = '' inoremap coc#refresh() nnoremap gH :call CocAction('doHover') nnoremap cf :call CocAction('doQuickfix') nnoremap cd :call CocAction('jumpDefinition') nnoremap ci :call CocAction('jumpImplementation') nnoremap cr :call CocAction('jumpReferences') nnoremap cm :call CocAction('rename') nnoremap ca :call CocAction('codeAction') nnoremap cs :call CocAction('documentSymbols') nnoremap cS :call CocAction('workspaceSymbols') nnoremap cn :call CocAction('diagnosticNext') nnoremap cp :call CocAction('diagnosticPrevious') " vnoremap \f (coc-format-selected) " nnoremap \f (coc-format-selected) command! -nargs=0 Format :call CocAction('format') command! -nargs=? Fold :call CocAction('fold', ) " }}} " #delimitMate{{{ " https://github.com/Raimondi/delimitMate Plug 'Raimondi/delimitMate' let delimitMate_expand_cr = 1 let delimitMate_expand_space = 1 "}}} " #echodoc.vim{{{ " https://github.com/Shougo/echodoc.vim Plug 'Shougo/echodoc.vim' "}}} " #emmet-vim {{{ " https://github.com/mattn/emmet-vim Plug 'mattn/emmet-vim' let g:user_emmet_leader_key=',,' let g:user_emmet_settings = { \ 'indentation': ' ', \} "}}} " #vim-fugitive{{{ " https://github.com/tpope/vim-fugitive/blob/master/README.markdown Plug 'tpope/vim-fugitive' nnoremap gs :Gstatus nnoremap gd :tabedit %:Gdiff nnoremap gc :Gcommit nnoremap gl :Glog nnoremap gp :Gpush:copen nnoremap gp :Gpushjob:copen "}}} " #gitgutter {{{ " https://github.com/airblade/vim-gitgutter/blob/master/README.mkd Plug 'airblade/vim-gitgutter' nmap ]h GitGutterNextHunk nmap [h GitGutterPrevHunk omap ih GitGutterTextObjectInnerPending omap ah GitGutterTextObjectOuterPending xmap ih GitGutterTextObjectInnerVisual xmap ah GitGutterTextObjectOuterVisual "}}} " #MatchTagAlways{{{ " https://github.com/Valloric/MatchTagAlways Plug 'Valloric/MatchTagAlways' let g:mta_filetypes = { \ 'jinja' : 1, \ 'html' : 1, \ 'vue' : 1, \ 'xhtml' : 1, \ 'xml' : 1, \} "}}} " #phpcomplete.vim{{{ " https://github.com/shawncplus/phpcomplete.vim Plug 'shawncplus/phpcomplete.vim' " https://github.com/dsawardekar/wordpress.vim " For up to date Wordpress Files see: " https://github.com/joseluis/wordpress.vim-generator "}}} " #polyglot{{{ " https://github.com/sheerun/vim-polyglot Plug 'sheerun/vim-polyglot' " vue options let g:vue_disable_pre_processors=0 " set custom syntax highlighting augroup fixhighlighting autocmd! autocmd BufNewFile,BufRead *.vue syntax sync fromstart augroup END "}}} " #quickscope{{{ " https://github.com/unblevable/quick-scope Plug 'unblevable/quick-scope' let g:qs_highlight_on_keys = ['f', 'F', 't', 'T'] "}}} " #rainbow{{{ " https://github.com/luochen1990/rainbow/blob/master/README.md Plug 'luochen1990/rainbow' let g:rainbow_active = 0 nnoremap 9 :RainbowToggle nnoremap ( :RainbowToggle "}}} " #switch {{{ "https://github.com/AndrewRadev/switch.vim Plug 'AndrewRadev/switch.vim' let g:switch_mapping = '-' let g:switch_custom_definitions = [ \ ['0', '1'], \ ['ease-in', 'ease-out', 'ease-in-out', 'linear'], \ ['auto', 'none'], \ ['left', 'right'], \ ['top', 'bottom'], \ ['row', 'column'], \ ['relative', 'absolute', 'fixed'], \ ['private', 'public', 'protected'] \ ] "}}} " #tagbar {{{ " Plug 'majutsushi/tagbar' " " nnoremap tb :TagbarOpen fj " nnoremap ] :tag /[.#@]=expand('') " let g:tagbar_autoclose = 1 " " let g:tagbar_autopreview = 1 " " let g:tagbar_previewwin_pos = '' " " let g:tagbar_type_css = { " \ 'ctagstype' : 'css', " \ 'kinds' : [ " \ 'c:classes', " \ 'i:ids', " \ 't:tags', " \ 'm:medias' " \ ] " \} " " let g:tagbar_type_scss = { " \ 'ctagstype' : 'scss', " \ 'kinds' : [ " \ 'v:variables', " \ 'c:classes', " \ 'i:ids', " \ 't:tags', " \ 'd:medias', " \ 'm:mixins', " \ 'f:functions' " \ ] " \} " " let g:tagbar_type_vue = { " \ 'ctagstype' : 'vue', " \ 'kinds' : [ " \ 'o:objects', " \ 'f:functions', " \ 'a:array', " \ 's:string', " \ 'b:boolean', " \ 'n:number', " \ 'v:variable' " \ ] " \ } "}}} " #ultisnips {{{ " https://github.com/sirver/UltiSnips Plug 'SirVer/ultisnips' " and some snippets " https://github.com/honza/vim-snippets " Plug 'honza/vim-snippets' nnoremap ul :call ListUltisnips() inoremap jkul :call ListUltisnips() let g:UltiSnipsSnippetsDir='~/.vim/UltiSnips' " Trigger configuration. Do not use if you use https://github.com/Valloric/YouCompleteMe. let g:UltiSnipsExpandTrigger='' let g:UltiSnipsJumpForwardTrigger='' let g:UltiSnipsJumpBackwardTrigger='' let g:UltiSnipsEditSplit='horizontal' function! ListUltisnips() abort"{{{ let l:snips = UltiSnips#SnippetsInCurrentScope(1) let l:keylist = sort(keys(l:snips)) echo ' --------------------------------------------------' for l:key in l:keylist echo printf(" %-10s\t%s", l:key, l:snips[l:key]) endfor echo '---------------------------------------------------' endfunction "}}} function! CompleteSnippets(findstart, base)"{{{ if a:findstart let l:line = getline('.') let l:start = col('.') - 1 while l:start > 0 && l:line[l:start - 1] =~ '\a' let l:start -= 1 endwhile return l:start else let l:res = [] let l:snips = UltiSnips#SnippetsInCurrentScope(1) let l:keylist = sort(keys(l:snips)) for l:key in l:keylist if l:key =~ '^' . a:base let l:item = {'word': l:key, 'menu': l:snips[l:key]} call add(l:res, l:item) endif endfor return l:res endif endfunction "}}} set completefunc=CompleteSnippets "}}} " #vim-dispatch{{{ " https://github.com/tpope/vim-dispatch Plug 'tpope/vim-dispatch' "}}} " #vim-gutentags {{{ " https://github.com/ludovicchabant/vim-gutentags Plug 'ludovicchabant/vim-gutentags' let g:gutentags_ctags_tagfile = '.tags' let g:gutentags_ctags_exclude = ['package.json', 'Session.vim', 'package-lock.json', 'TODO.txt'] let g:gutentags_resolve_symlinks = 1 "}}} " #vim-Jinja2-Syntax{{{ " https://github.com/studio-vx/Vim-Jinja2-Syntax " original: https://github.com/Glench/Vim-Jinja2-Syntax Plug 'studio-vx/Vim-Jinja2-Syntax' "}}} " #vim-SyntaxRange{{{ " https://github.com/inkarkat/vim-SyntaxRange " Plug 'inkarkat/vim-SyntaxRange' " command! HiJinja call SyntaxRange#Include('{{', '}}', 'jinja', 'jinjaBraces', 'jinjaVariable') " command! HiJinja call SyntaxRange#IncludeEx('start=/{{-\?/hs=s+2 end=/-\?}}/he=s-1', 'jinja') "}}} " #wordpress.vim{{{ " doesn't support universal ctags " #Plug 'dsawardekar/wordpress.vim' " This fork does: " https://github.com/DArcMattr/wordpress.vim/tree/universal-ctags " Using studio-vx fork " Plug 'studio-vx/wordpress.vim', { 'branch': 'universal-ctags' } "}}} " #vim-git{{{ " https://github.com/tpope/vim-git Plug 'tpope/vim-git' "}}} " vim: set fdm=marker ft=vim: