Información muy útil para todos los que usan GitHub (u otro servicio similar)
~/.gitconfig
[filter "tabspace"]
smudge = unexpand --tabs=4 --first-only
clean = expand --tabs=4 --initial
[filter "tabspace2"]
smudge = unexpand --tabs=2 --first-only
clean = expand --tabs=2 --initial
Entonces tengo dos archivos:
attributes
*.js filter=tabspace
*.html filter=tabspace
*.css filter=tabspace
*.json filter=tabspace
y attributes2
*.js filter=tabspace2
*.html filter=tabspace2
*.css filter=tabspace2
*.json filter=tabspace2
Trabajando en proyectos personales
mkdir project
cd project
git init
cp ~/path/to/attributes .git/info/
De esa manera, cuando finalmente empuje su trabajo en github, no se verá tonto en la vista de código, 8 space tabs
que es el comportamiento predeterminado en todos los navegadores.
Contribuyendo a otros proyectos
mkdir project
cd project
git init
cp ~/path/to/attributes2 .git/info/attributes
git remote add origin git@github.com:some/repo.git
git pull origin branch
De esa manera puede trabajar con pestañas normales en 2 space indented
proyectos.
Por supuesto, puede escribir una solución similar para la conversión, 4 space to 2 space
que es el caso si desea contribuir a proyectos publicados por mí y tiende a usar 2 espacios durante el desarrollo.