Usar archivos dot para aumentar productividad
Si eres desarrollador web, ya sea frontend o backend, es probable que pases bastante tiempo de tu día en la terminal. Si es así y aún no usas los dotfiles (archivos .punto en inglés) este artículo es para tí.
Los archivos, llamados así porque comienzan con un .
se encuentran en el directorio raíz de un usuario. Si entras a tu directorio raíz y listas los archivos seguro vas a encontrar algunos
cd ~/
ls -la
Por ejemplo, si has usado git
y lo has configurado correctamente encontrarás el archivo .gitconfig
Es probable que encuentres el archivo .bashrc
también, pero realmente puedes crear y organizar tus archivos .dot
como más te guste.
La ventaja de los archivos dot es la eficiencia que generan. Asumamos, por ejemplo, que modificas el archivo hosts de tu computadora multiples veces al día para activar dominios virtuales, en lugar de tener que copiar en la terminar cada vez
sudo vim /etc/hosts
Puedes crear un alias
que sea
alias hosts="sudo vim /etc/hosts"
Entonces podemos copiar hosts
cuando entremos a la terminal y se abrirá automáticamente nuestro archivo hosts para editar lo que necesitemos.
Buscando dirección
Lo más recomendado es darse un paseo por repositorios de archivos dots de desarrolladores de alto nivel que los mantienen regularmente. Aquí hay un par
Github tiene una recomendación completa aquí
Estos archivos vienen con una estructura bastante común, es la que usé para ordenar mis archivos, sin embargo, me parece que tienen muchas cosas que al final nunca se usarán completamente, como cuando se usa un framework para programar. Mi recomendación es revisar cada repositorio y tomar lo mejor de cada uno y hacer tus propios archivos. Voy a tomar mis propios archivos para repasar un poco la estructura, casi todas mis funciones y alias son tomados de los archivos publicados arriba. https://github.com/saulsolorzano/dotfiles
Tipo de archivos
.bashrc / .bash_profile
Cada vez que abres la terminal estos son los archivos que se cargan. Entonces son los que usaremos para importar todos los demás archivos que crearemos.
En nuestro .bash_profile
vamos a hacer el llamado de nuestros alias, funciones y el nuevo prompt modificado. Yo tengo dos archivos más, .extra
y .wp
que no los coloco públicamente dado que uno es alias de los servidores que usamos para trabajar y .wp
son funciones de wp-cli
que incluyen plugins pagos.
Si no sabes que es WP-CLI y trabajas con Wordpress recomiendo mucho que lo instales, mejora mucho la productividad
for file in ~/.{bash_prompt,aliases,functions}; do
[ -r "$file" ] && [ -f "$file" ] && source "$file";
done;
unset file;
Vamos a pasar ahora por cada archivo
.aliases
Aquí van todos los alias que nos ayudan a escribir menos. Yo uso sublime text para programar entonces tengo un alias que abre los archivos directamente en sublime
alias subl="open -a 'Sublime Text'"
.functions
Bastante parecido al archivo de .aliases
la única diferencia es que las funciones, como en cualquier lenguaje de programación, aceptan argumentos.
Creo que la función más popular de todas es la usada para crear un directorio y entrar a el mismo en el mismo comando.
function mcd() {
mkdir -p "$@" && cd "$@"
}
Entonces si quiero crear el directorio proyecto
normalmente tendría que correr los comandos por separado
#manera tradicional
mkdir proyecto
cd proyecto
#con la nueva función
mcd proyecto
.bash_prompt
Esta es una función bastante larga que básicamente nos permite cambiar el prompt
de nuestra terminal. El prompt es lo que aparece de lado izquierdo cada vez que presionamos enter en la terminal.
Un prompt configurado es bastante util si trabajas regularmente con git
ya que te indica el branch
en el que estás, si tienes cambios sin haberlos versionado, es de bastante ayuda.
.gitignore
Si siempre estás colocando los mismos archivos en tu .gitignore de cada proyecto, puedes configurar este global y olvidarte de ellos.
.gitconfig
Archivo que todos deberíamos tener con nuestra configuración global. También hay alias de git. A pesar de que podemos colocar estos alias completamente en nuestro archivo de .aliases
me gusta mantener los alias de git en su archivo correspondiente.
Aquí también hay unas funciones de git. Por ejemplo, para hacer push en lugar de copiar
git push origin master
Solo debo copiar
git p master
Y funciona sin ningún problema.
.vimrc /.gvimrc
Si usas mucho vim
estos archivos son solo lo más básico para configurar un poco la apariencia del mismo. Cosas como un colorscheme y algunas configuraciones de estilo.
bootstrap.sh
Este archivo sirve para copiar nuestros archivos dot al directorio raíz.
Usar los archivos .dot
puede aumentar mucho la productividad, aunque parezca poco muchas veces escribimos las mismas lineas una y otra vez durante el día y la idea es tratar de optimizar todo el tiempo posible. Es importante notar que los archivos dots son usados globalmente, es decir, los creas en tu carpeta raíz pero una vez que están dentro de tu sesión de bash los puedes usar en el directorio que quieras, no hay que hacer una configuración extra.