2011-10-18 9 views
5

¿Hay algún truco o secuencia de comandos que me permita cambiar fácilmente entre conjuntos de vim-plugins y -settings?Alternar conjuntos de complementos de Vim

Uso vim para desarrollos y redacciones muy diferentes. Puede ser realmente molesto que aparezcan ciertos complementos específicos de desarrollo web al escribir un informe en LaTeX, por ejemplo.

Lo que me gustaría ver es algo así como RVM.

  • Disponen de un conjunto de complementos y configuraciones "globales"; complementos y configuraciones que siempre están habilitados o usados.
  • Por plugins y configuraciones de proyecto; Complementos, configuraciones y configuraciones que se cargarán después de activar ese "entorno".
+0

Vim tiene una variable runtimepath, que obviamente se puede configurar en el vimrc. Por lo que yo entiendo, sin embargo, tendrías que reiniciar vim para que el cambio surta efecto. –

+1

No me importa reiniciar. Sabré en qué "entorno" comenzar, antes de comenzar vim. Tener el .vim en git y cambiar de rama funcionaría; si no fuera por duplicar y administrar volviéndose una molestia. – berkes

+0

¿Es el tipo de archivo "por proyecto" específico? Si es así, puede que necesite que sus complementos sean ftplugins. Además, consulte ': help LocalLeader' para ayudar a separar los mapas de complementos globales vs tipos de archivos. – idbrii

Respuesta

4

Usted puede encontrar localvimrc a ser útil para el punto número dos. Le permite tener un .lvimrc en su carpeta de proyecto con configuraciones para ese proyecto específico. En ese archivo, puede cargar los complementos específicos de su proyecto manipulando runtimepath o usando pathogen/vundle/whatever.

Con este método, configuraría sus configuraciones y complementos "globales" como lo haría normalmente.

2

Niza pregunta en mi humilde opinión. Por cierto, usar un administrador de complementos podría simplificar este tipo de cosas también. Por ejemplo, con el patógeno puede hacer algo como:

" 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 

Ver this answer para un buen ejemplo sobre la carga condicional. Sería muy agradable ver esta característica implementada en el patógeno.

1

que acababa de hacer alias

alias mvim='vim -u myvimrc' 

alias ovim='gvim -U someothervimrc' 

Ans sí se podría utilizar runtimepath dentro del vimrc-s para configurar configuraciones muy diferentes

Cuestiones relacionadas