
Cómo instalar zsh y oh my zsh en Windows 10
En este post vamos a instalar zsh y oh my zsh en el subsistema de Windows para Linux, pero para poder hacer esto primero debes tener habilitado el subsistema. Así que, si aun no lo haz hecho pásate por el artículo Habilitar el subsistema de Linux, el mismo te llevara al post en donde te explico como hacerlo.
¿Qué es zsh?
Zsh es un intérprete de comando o shell para sistemas basados en Unix. GNU/Linux entre ellos, su creador Paul Falstad lanzó la primera versión de este shell en 1990 cuando era estudiante en la universidad de Princeton.
Zsh se diseñó para poder usarse interactivamente. Se le han incorporado muchas de las características principales de otras shells de Unix como, bash, ksh, o tcsh y además posee características propias originales.
Las letras zsh no significan z shell como muchos suelen creer o incluso afirmar, zsh proceden del nombre del profesor de la universidad de Yale Zhong Shao y profesor asistente en Princeton para cuando Paul Falstad tenía en mente este proyecto, y el pensó que zsh seria un excelente nombre para una shell.
Instalar zsh
Lo primero que necesitamos instalar es git, si ya lo tienes puedes obviar este paso, solo recuerda que el git instalado en Windows no es el mismo que se instala en la distribución que tengas corriendo en el subsistema de Windows para Linux.
Todos estos pasos debes de hacerlo desde la terminal de tu distro. En este caso yo lo haré sobre Ubuntu tecleando en la terminal el siguiente comando para instalar git desde el repositorio oficial.
sudo apt install git
Ahora toca instalar zsh, por fortuna este shell también está en los repositorios oficiales así que con una línea de comando lo instalamos.
sudo apt install zsh
Perfecto ya tenemos una nueva shell en nuestra distro pero aun sigue siendo tan aburrida como la shell por defecto, por lo que toca potenciarla con oh my zsh. Vamos a ello.
¿Qué es oh my zsh?
Oh my zsh es uno de los tantos framework que existen allá afuera para manejar la configuración de zsh, es quizás el más conocidos.
Oh my zsh viene cargado con útiles funciones que le dan “superpoderes” a tu terminal, como por ejemplo plugin de resaltado de sintaxis, autocompletado entre otros, además de unos alucinantes temas que cambian por completo el aspecto del shell.
Puedes ver una lista de frameworks para manejar la configuración de zsh en este enlace.
Instalar zsh via Curl.
sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
Instalar zsh via wget.
sh -c "$(wget https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"
Cualquiera de las dos instrucciones hacen los mismo, descargar e instalar oh my zsh. Lo que varían son los métodos curl y wget ambos permiten la descarga de contenido de servidores web.
Antes de finalizar el proceso de instalación nos preguntara si queremos establecer zsh como terminal por defecto solo debes responder con un Y
e ingresar la contraseña para continuar. Es todo.
Oh my zsh themes
Ya te comente que oh my zsh es un framework que potencia a zsh con plugins y temas, así que vamos a ver como se instalan.

Oh my zsh tiene un “centenar” de temas para todos los gustos y algunos requieren de pasos adicionales, por ejemplo: El tema agnoster requieren que se instalen fuentes powerline, estas fuentes están parcheadas para mostrar iconos, como se muestra en la imagen de arriba.
Yo usare como ejemplo el tema rkj-repos que no requiere pasos adicionales. En la terminal escribe la siguiente instrucción para abrir el archivo zshrc.
nano ~/.zshrc

Ubícate en la línea ZSH_THEME=""
y entre las comillas debes escribir el nombre del tema que quieras usar, por defecto viene el tema robbyrussell.
Luego de establecido el tema debes presionar las teclas Ctrl + O
y luego Enter
para guardar, y Ctrl + X
para salir, refresca el archivo de configuración con el siguiente comando source ~/.zshrc
para que se aplique el tema.

Mi terminal con el tema rkj-repos. 😉
Recomendaciones.
- Temas oficiales para oh my zsh
- Temas externos para oh my zsh
- Cómo instalar fuentes powerline en windows 10
- Nerd Fonts fuente parcheada mucho más completa que las powerline, si vas a usar estas fuentes debes instalar los archivos .ttf con la variante Windows Compatible.
Oh my zsh plugins
Para instalar los plugins en oh my zsh basta con seguir las instrucciones de los mismo, en su mayoría solo consiste en clonar el repositorio mediante git y añadir el nombre del plugin a la configuración en el archivo .zshrc.
Actualmente estoy utilizando solo dos plugins, muy buenos por cierto. Y son zsh autosuggestions y zsh syntax highlighting, el primero sugiere comando mientras se escribe, y el segundo resalta la sintaxis del shell zsh.
Zsh autosuggestions.
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
Zsh syntax highlighting.
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting

Para activar los plugins debes acceder al archivo de configuración mediante el comando nano ~/.zshrc
, navega hasta la línea plugins=(git)
y añade el nombre del plugin tal como lo indican sus instrucciones.
En este caso los nombres son zsh-autosuggestions y zsh-syntax-highlighting, y al igual que con los temas Ctrl + O
y luego Enter para guardar los cambios, Ctrl + X
para salir y source ~/.zshrc
para actualizar el archivo de configuración. Listo ya tienes tus plugins instalados y activados.
Para ver una lista con más plugins para oh my zsh puedes visitar este enlace.
Problemas de permisos con los plugins en oh my zsh.

Para resolver problemas de permisos tienes dos opciones.
1- Saltar la verificación de directorios inseguros, para ello abre el archivo de configuración nano ~/.zshrc
y escribe lo siguiente ZSH_DISABLE_COMPFIX="true"
arriba/antes de export ZSH="/home/tu-usuario/.oh-my-zsh"
.
2- Dar los permisos correctos a la carpeta del plugin, desde mi humilde opinión sería lo mejor, el siguiente comando corrige el tema de los permisos.
sudo chmod -R 775 /home/tu-usuario/.oh-my-zsh/custom/plugins/carpeta-del-plugin
En el comando anterior debes reemplazar carpeta-del-plugin
por el nombre real del plugin.
Hasta este punto ya tenemos una terminal minimamente decente, pero aún hay una cosilla por hacer.

Si ya has trasteado con la terminal y te has movido por los directorios haciendo uso de cd
y ls
seguro habrás notado que ciertos directorios se muestran con un color de fondo horrible, para solucionarlo copia lo siguiente al final del archivo de configuración .zshrc.
LS_COLORS="ow=01;36;40" && export LS_COLORS
zstyle ':completion:*' list-colors "${(@s.:.)LS_COLORS}"
autoload -Uz compinit
compinit
Y el resultado lo tienes en la siguiente imagen.

Bien esto ha sido todo en este post, espero te haya sido de utilidad. Nos leemos en la próxima.
Comentarios