gitgutter fugitive airblade git vim dotfiles

fugitive - Agregar su.vim ~/.vimrc a github(también conocido como archivos de puntos)



vim plugins (5)

He visto a algunas personas que tienen repositorios git con sus archivos de puntos. Me pregunto si solo

cd ~/ git init git add .vimrc // etc

? ¿Y entonces es así como lo mantienen actualizado? ¿O es probable que hagan copias y las sincronicen?

¿Qué estrategia recomiendan o usan ustedes? En su mayoría, no quiero comprometerme y empujar mi entero ~ /

Gracias


Aquí hay una plataforma agnóstica y una solución agnóstica de shell sin dependencias distintas a la shell compatible con bourne que tiene disponible (bash, zsh, ksh, etc.). Funciona en mac, linux y windows:

dotsys

Automáticamente sincronizará los cambios a sus archivos dotfiles con github y múltiples máquinas, junto con muchas otras características.


Hacer un repositorio git de tu casa es probablemente una mala idea (estarías gastando más tiempo creando tu archivo .gitignore que haciendo lo que realmente quieres hacer).

Sugiero usar un directorio git separado para sus archivos duales (ej. ~/git/dotfiles ) y ellos haciendo enlaces simbólicos a su hogar (por ejemplo, ln -s ~/git/dotfiles/.vim ~/.vim , etc.).

Si no puede molestarse en crear enlaces simbólicos manualmente cada vez que desee instalar sus archivos en cualquier lugar, puede usar un script como el siguiente: https://github.com/sitaktif/dotfiles/blob/master/bin/create-symlinks (usa https://github.com/sitaktif/dotfiles/blob/master/CONFIG.example como la configuración).


Tengo mi directorio ~/.vim en control de versiones y mi vimrc "real" (la que tiene todas mis configuraciones) dentro de ese directorio, en ~/.vim/vimrc :

~/ ---- .vim/ ---- ---- (plugins and stuff) ---- ---- vimrc ---- .vimrc

Mi ~/.vimrc regular tiene solo una línea:

runtime vimrc

No es necesario crear enlaces simbólicos o lo que sea.

Así es como empujaría mi configuración en una máquina nueva donde Git ya se ha instalado:

$ cd $ git clone [email protected]:romainl/dotvim.git .vim $ echo "runtime vimrc" > .vimrc

Lo que sigue es todo el proceso de creación. Supongo que ha creado una cuenta y un repositorio llamado "vimconfig" en Github y que ya tiene un ~/.vimrc creado con amor y un ~/.vim/ bien organizado.

$ cd $ mv .vimrc .vim/vimrc $ echo "runtime vimrc" > .vimrc $ cd .vim $ git init $ echo "This is my Vim config." > README $ git add * $ git commit -m "My Vim config is versioned." $ git remote add origin https://github.com/username/vimconfig.git $ git push origin master

En ese momento, debe tener el mismo contenido en Github y en su repositorio local.

Administra ese repositorio normalmente y envía sus confirmaciones cuando está listo. Sencillo.

Tenga en cuenta que todo el asunto de Github solo es útil si necesita / desea sincronizar su configuración en varias máquinas o, de alguna manera, necesita / desea compartirla con otras personas. Si no lo haces, no hay ningún punto real usando GitHub en absoluto.

(editar)

Vim 7.4 introdujo un nuevo esquema muy útil: busca el ~/.vimrc habitual y también para ~/.vim/vimrc por lo que le ~/.vim/vimrc aún menos trabajo:

$ cd .vim $ git init $ echo "This is my Vim config." > README $ git add * $ git commit -m "My Vim config is versioned." $ git remote add origin https://github.com/username/vimconfig.git $ git push origin master

Por supuesto, la estrategia que sugerí inicialmente sigue siendo válida si tienes que lidiar con versiones mixtas de Vim: Vim sabe qué hacer y no va a terminar en un bucle infinito.


Vea la solución de steakcobra en Hacker News :

git init --bare $HOME/.myconf alias config=''/usr/bin/git --git-dir=$HOME/.myconf/ --work-tree=$HOME'' config config status.showUntrackedFiles no

donde ~/.myconf es la ubicación del repositorio de git al descubierto. Entonces, cualquier archivo dentro de $HOME puede ser versionado así:

config status config add .vimrc config commit -m "Add vimrc" config add .config/redshift.conf config commit -m "Add redshift config" config push

Si necesita más explicaciones, Nikola Paolucci brindó una gran explicación .


Ya tengo una carpeta "paquete" donde puse todos mis complementos a cargar a través de Pathogen . Así que hice de esa carpeta mi carpeta git (con los complementos como submódulos) y puse allí mi vimrc.

En el .vimrc oficial escribo:

let $MYVIMRC="<path_to_vimrc_in_bundle_folder>" source $MYVIMRC ... call pathogen#infect()

¡y no lo versiono!

Esto me permite compartir mi configuración entre mi máquina Linux en casa y mi caja de Windows en el trabajo. También puedo poner las configuraciones .vimrc oficiales específicas de la máquina, o las que no quiero que estén disponibles públicamente (como los perfiles dbext que contienen inicios de sesión y contraseñas ...)