[Contourné] Vim : ne charger les plugins que sous certaines conditions

jeudi 1 octobre 2015

Salut (gros déterrage avec la 18 tonnes, désolé...)


Je cherchais aussi à avoir un chargement lazy et limiter la pollution des map/commandes et j'ai tester vim-plug qui va bien pour cette approche avec un ajout personnel.


" ~/.vimrc

call plug#begin('~/.vim/plugged')
" Tous les plugins qui suit ne seront chargés qu'explicitement

" Voir la doc pour les autres méthode automatique :)

Plug 'ludovicchabant/vim-lawrencium', {'on': 0}
Plug 'tpope/vim-fugitive',            {'on': 0}
Plug 'majutsushi/tagbar',             {'on': 0}
Plug 'vim-scripts/AnsiEsc.vim',       {'on': 0}
Plug 'lilydjwg/colorizer',            {'on': 0}
Plug 'scrooloose/syntastic',          {'on': 0}
call plug#end()

" commande avec complétion pour charger les plugins à la demande

command -nargs=1 -complete=customlist,s:unloaded_comp
      \ PlugLoad :call plug#load(<q-args>)

" retourn les addons enregistrées mais non chargées

function s:unloaded_comp(ArgLead, CmdLine, CursorPos)
  if !exists('s:plug_script_id')
    " petit hack pour appeler les fonctions privées de plug.vim:)

    redir! => l:scripts
      silent scriptnames
    redir END
    for l:script in split(l:scripts, "\n")
      if l:script =~ 'autoload/plug.vim$'
        let s:plug_script_id = matchstr(l:script, '\v%(\_\s*)@<=\d+%(:\s+)@=')
        break
      endif
    endfor
  endif
  return filter(copy(g:plugs_order),
    \          'match(<SNR>{s:plug_script_id}_loaded_names(), v:val) == -1 '
    \     . '&& !has_key(g:plugs[v:val], "for") '
    \     . '&& (empty(a:ArgLead) || v:val =~? "\\<".a:ArgLead)' )
endfunction
 


Voir aussi l'option 'exrc' pour configurer différemment son vim pour chaque projet.

Voilà, je ne sais si çà colle exactement à tes envies/besoins, mais je partage quand même. smile
++



[Contourné] Vim : ne charger les plugins que sous certaines conditions

0 commentaires:

Enregistrer un commentaire

 

Lorem

Ipsum

Dolor