Ultimamente he estado trabajando nuevamente en un ambiente 100% Linux, desarrollando desde mi mac (si, tengo un mac, me creo cool), y conectado a los servidores de QA y producción que son Ubuntu server en amazon web services, y como siempre pasa con los servidores Linux (o la gran mayoría) no hay instalación de interfaz gráfica, por lo que la administración completa debe ser realizada por línea de comando. Esto tiene dos consecuencias, la primera es que te sube el ego al trabajar con el terminal, ya que es de lo más cool no usar el mouse y nadie entiende lo que estas haciendo, aveces ni siquiera uno mismo, y la segunda es que lentamente te vuelves más mañoso ante la configuración del terminal, le exiges más, quieres que sea más cómodo, que tenga colores, herramientas de última generación como vim y todas esas cosas. Bueno, en mi búsqueda espiritual por la mejor configuración del terminal he llegado a dos conclusiones.
- El terminal más comodo y mejor no es el que viene que por defecto
- El mundo está lleno de personas com más habilidades y tiempo, por lo que la configuración perfecta del terminal a utilizar ya está subida a internet.
El terminal que viene por defecto en las instalaciones de Ubuntu server y de Mac es el terminal bash, que es el más común y uno de los primeros en salir, con este terminal se puede hacer cualquier tipo de tarea de manutención o administración que debe ser realizada en la máquina, por lo que no hay que poner en duda su potencia, la comodidad por otro lado no es la prioridad en este terminal, si bien tiene actualizaciones periódicas la base de desarrollo es antigua y, sin menospreciar ya que dije que es muy potente, es funcional, pero incomodo y tedioso. El terminal que ultimamente ha capturado mi corazón es zsh, porque afrontémoslo, el final la decisión de cual herramienta usar para un propósito determinado tiene un fuerte componente emocional, que lo que nos lleva a usar una herramienta sobre otra, dicho este descargo zsh es lo máximo, es uno de los últimos terminales en ser desarrollados que está ampliamente adoptado, tiene funcionalidad de otros terminales como bash, csh y tcsh, que combinada con las propias y el diseño centrado en ser un terminal interactivo, le da una sensación de comodidad única, más de zsh en su página de wikipedia.
Bueno, luego de elegir el terminal que captura mi corazón, me dediqué a configurarlo, y caía una y otra vez a ejemplos de la configuración Oh My Zsh que es un framework de configuración del terminal, tan famoso que si buscas zsh en google lo primero que aparece en la referencia de Oh My Zsh en github, la verdad que está configuración está muy bien echa, y permite instalar zsh en dos pasos, en el mac fueron solo 3 pasos.
brew install zsh zsh-completions
curl -L https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh | sh
chsh -s /bin/zsh
y listo instalado Oh My Zsh

Esta instalación fue tomada desde este blog, que tiene muy buenas guías para realizar distintas configuraciones en el mac, en linux solo realicé un cambio a estos 3 pasos (y puse los sudo que se requerían también, igual que en el mac) el primero lo cambié por
apt-get install zsh zsh-completions
y listo, todo lo de más funcionó de manera maravillosa. Ahora, Oh My Zsh viene con una serie de plugins que pueden ser habilitados en el archivo .zshrc que deja en el home, para habilitar o deshabitar plugins solo hay que buscar la linea que tiene los plugins y dejar dentro los que se quieran utilizar, acá hay un listado de todos los plugins disponibles y algunos vienen con descripción de que es lo que hacen. Esta es mi línea de plugins actual de Oh My Zsh, el más maravilloso de todos estos plugins es sudo, que apretando escape dos veces pone la palabra sudo delante de la linea que tienes escrita, es lo máximo.
plugins=(git sublime osx git-flow git-extras npm node theme web-search battery sudo)
Para poder entrar en onda con el terminal zsh leí dos libros que considero muy buenos el primero Learning Shell Scripting with Zsh, es un muy buen libro de referencia, corto, que va al grano en configuración y use de zsh, así como algunos principios de como programarlo, muy bueno para gente que tiene conocimiento previo y trabaja ya con el terminal, que solo quiere una guía rápida de como utilizar y sacarle el mayor provecho a la herramienta, el segundo, From Bash to Z Shell, es más bien extenso, pero muy completo, hace no solo una referencia a como utilizar Zsh si no a los conceptos de terminal y bash en general, es muy bueno para principiantes y entrega una visión muy completa de todo lo que se puede lograr con el terminal, aunque es un poco árido de leer. Eso y espero volver a escribir de manera más activa.
julio 20, 2015 at 8:45 am
Trabajar en terminal es lo máximo, tanto que mi pagina personal es un terminal (aunque no zsh) http://cahm.bl.ee/
Voy a probar zsh
julio 20, 2015 at 11:19 am
K, tu página no tiene nada de usabilidad y es lo mas rara que he visto, me encantó.
Y prueba zsh, te cambiara la vida.
julio 20, 2015 at 10:25 am
muy buen consejo, y aprovechando que nos cambiaron los windows a mac’s… le dare uno vuelta… gracias Maldo…
julio 20, 2015 at 11:20 am
Vale pancho, la página que hay con referencias es muy buena, tiene un montón de cosas para hacer los ajustes iniciales necesarios al Mac.