Portar Vim con complementos entre máquinas

La progtwigción con VIM requiere varios complementos para la mayoría de los proyectos modernos, especialmente cuando se trata de grandes bases de código.

Para tal fin:

  • ¿Hay un administrador de entorno VIM totalmente automatizado que le permita implementar entornos VIM basados ​​en patógenos en cualquier máquina sin ningún trabajo manual? Si no..

  • ¿Hay buenos modismos para hacer esto que se usan comúnmente y que pueden ser prestados de manera eficiente?

Justificación: tengo muchas personalizaciones de VIM. ¿Hay alguna manera de sincronizar las configuraciones VIM entre máquinas que es elegante y está bien respaldada?

  • Alternativa actual: tiendo a usar un mecanismo crudo basado en cp -r que siempre se desalinea.

Compita todo su ~/.vim directory y ~/.vimrc a un repository git (así como su .bashrc , etc.). Esta es la forma correcta y deseada de hacer que su configuration bash y Vim sea portátil. La configuration completa es una carpeta en su directory de inicio como ~/dotfiles con enlaces simbólicos a su directory de inicio para files y carpetas como .vim/ . Como en ~/.vim/ es un enlace simbólico a ~/dotfiles/.vim .

Cuando agrega un complemento a ~/.vim/bundle/ , elimine su carpeta .git/ contrario, git considera que el directory de complementos es un submodule y no se confirmará.

En una máquina nueva, clone el repository en su directory de inicio, por lo que tendrá algo como ~/dotfiles . Luego, haga un enlace simbólico de los files apropiados a su directory de inicio, como en ln -s ~/.vimrc ~/dotfiles/.vimrc .

Aquí hay un ejemplo de configuration de mi configuration que tiene todo lo anterior. Tengo un script en el directory que ejecuto que sincroniza automáticamente todos los files que comienzan . al directory de inicio.

Para actualizar un complemento, simplemente rm -rf el directory del complemento en ~/.vim/bundle/ clone el repository del complemento nuevamente en ~/.vim/bundle/ , luego cd en la nueva carpeta clonada y rm -rf la carpeta .git/ de nuevo, luego git add pluginName y compromete la fuente de complemento actualizada a tu repository de files duales.

Esta es una configuration deseable porque el ecosistema del plugin Vim es abrumadoramente terrible. A menudo tendrás que sumergirte en el código fuente del complemento y modificar las líneas a mano. Si ya tiene todos sus complementos comprometidos con un repository, es muy fácil actualizar sus fonts y comprometerse con su repository portátil de dotfiles . De lo contrario, tendría que bifurcar a mano cada uno de los complementos que modifique y mantener el tenedor, o enviar una request de extracción al depósito original y esperar a que se fusione.