Última actualización:
Oh my zsh windows 10

Cómo instalar zsh y oh my zsh en Windows 10

Lenin Peña
Lenin Peña Desarrollo Web

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.

Tabla de contenido

¿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 theme

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
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.

rkj-repos oh my zsh theme

Mi terminal con el tema rkj-repos. 😉

Recomendaciones.

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
Configuración de plugins en oh my zsh

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.

permisos de pugins 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.

Error en colores oh my zsh

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.

corregidos colores en oh my zsh

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

Comentarios