2011-10-18 5 views
5

Esiste un trucco o uno script che mi consente di passare facilmente da set di vim-plugins e -settings?Attiva/disattiva set di plug-in Vim

Io uso vim per sviluppo e scrittura molto diversi. Può essere davvero fastidioso avere alcuni plug-in specifici per lo sviluppo Web, ad esempio quando si scrive un report in LaTeX.

Quello che mi piacerebbe vedere è qualcosa come RVM.

  • Avere un set di plugin e impostazioni "globali"; plugin e impostazioni che sono sempre abilitati o utilizzati.
  • Per plug-in e impostazioni di progetto; plugin, configurazioni e impostazioni che verranno caricati dopo l'attivazione di tale "ambiente".
+0

Vim ha una variabile runtimepath, che può ovviamente essere impostata in vimrc. Per quanto ho capito, però, dovresti riavviare vim affinché la modifica abbia effetto. –

+1

Non mi dispiace riavviare. Saprò in quale "ambiente" iniziare, prima di iniziare vim. Avere il .vim in git e cambiare ramo funzionerebbe; se non per la duplicazione e gestione diventando una seccatura. – berkes

+0

Il filetype è specifico per "progetto"? Se è così, potresti aver bisogno dei tuoi plugin per essere ftplugins. Inoltre, consulta ': help LocalLeader' per aiutare a separare le mappe dei plugin di tipo" global "o" filetype ". – idbrii

risposta

4

Si possono trovare localvimrc di essere utile per il punto numero due. Permette di avere un .lvimrc nella cartella del progetto con le impostazioni per quel progetto specifico. In quel file è possibile caricare i plugin specifici del progetto manipolando lo runtimepath o usando pathogen/vundle/qualunque.

Utilizzare questo metodo per configurare le impostazioni e i plug-in "globali" come faresti normalmente.

2

Bella domanda IMHO. A proposito, usare un gestore di plugin potrebbe semplificare anche questo genere di cose. Ad esempio, con patogeno si può fare qualcosa di simile:

" To disable a plugin, add it's bundle name to the following list 
let g:pathogen_disabled = [] 

if your_condition 
    call add(g:pathogen_disabled, 'myplugin') 
    call add(g:pathogen_disabled, 'myplugin2') 
end 

Vedi this answer per un buon esempio sul caricamento condizionale. Sarebbe molto bello vedere questa funzione implementata nel patogeno.

1

avevo solo fare alias

alias mvim='vim -u myvimrc' 

alias ovim='gvim -U someothervimrc' 

Ans sì, si potrebbe usare runtimepath all'interno del vimrc-s per l'installazione molto diverse configurazioni