En este post os enseñaremos cómo instalar Oh My ZSH en vuestra consola y empezar a disfrutar de una experiencia única, sobre todo si, como nosotros, la usáis muchas horas al día.
¿Qué es Oh My ZSH?
¿Qué es un terminal o consola?
Esto está bien para un uso esporádico, pero cuando comenzamos a usar nuestra consola día a día empezamos a echar en falta algunas funciones, o empezamos a copiar y pegar comandos día a día, ahí es cuando uno se plantea si no hay una opción mejor a la que viene por defecto.
¿Qué es una Shell?
Una shell es (salvando las distancias) un conjunto de órdenes y comandos, por eso a veces también es llamado “intérprete de comandos“, que nos permiten trabajar con nuestra consola/terminal y realizar acciones o ejecutar programas, así por ejemplo en sistemas basados en unix (Linux/Mac) para ver el contenido de un directorio usaríamos el comando
ls -l
En cambio en Windows para hacer lo mismo usaríamos el comando
dir
Aquí es donde entra ZSH, que es una shell (tal y como bash, o sh) que viene con algunas funciones interesantes.
Instalando ZSH
Antes de poder instalar Oh My ZSH, necesitamos tener instalada y funcionando la shell ZSH, por lo que vamos a proceder a su instalación:
Debian/Ubuntu y derivados
Es tan simple como poner en la consola:
sudo apt-get install git zsh
CentOS y derivados
Igual de simple, copia y pega en tu consola:
sudo yum install git zsh
Mac OS
ZSH ya viene instalado por defecto en Mac, pero a veces la versión es antigua, por lo que te recomendamos instalar la última versión.
Si tenemos homebrew instalado (si no lo tienes, deberías) es tan simple como poner:
brew install git zsh
Windows
Y aquí es donde la cosa se complica, pero no mucho, para poder usar ZSH en Windows primero debes instalar la consola Bash, aunque su instalación apenas lleva unos minutos en Windows 10 se escapa de la finalidad de este tutorial, por lo que te recomendamos que busques en nuestro querido Google donde habrá mil y un tutoriales de cómo hacerlo.
Una vez tengas la consola instalada, tan sólo sigue los pasos para instalarla en Ubuntu y la tendrás lista.
Configurando ZSH como consola por defecto
Una vez que tenemos nuestra nueva y flamante shell vamos a decirle a nuestra consola que siempre que se abra use esta shell por defecto, para ello introducimos el siguiente comando:
chsh -s $(which zsh)
En algunas versiones de CentOS tendremos que usar el siguiente comando:
usermod -s $(which zsh) $(whoami)
Si te aparece un mensaje similar a:
non-standard shell
Tendrás que añadir la nueva shell a la lista de shells permitidas por el sistema, para ello copia la ruta completa a la shell (que puedes averiguar con el comando which zsh) y pégala en el archivo /etc/shells. Una vez lo hagas, vuelve a ejecutar el comando anterior.
Instalando Oh My ZSH
Y ¡por fin! llegamos a la instalación de Oh My ZSH. ahora que tenemos nuestra shell con ZSH, te habrás dado cuenta que sigue siendo una shell aburrida como contábamos al principio, pero una vez terminemos este paso, tu shell brillará y lucirá de una manera que será la envídia de tus demás colegas.
Como estos tutoriales suelen quedar obsoletos con el tiempo, os dejo las instrucciones de instalación originales aquí. Pero a día de hoy tan sólo necesitamos pegar en la consola el siguiente comando:
Instalar usando curl
sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
Instalar usando wget
sh -c "$(wget https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"
Y con esto quedaría instalado
Tuneando nuestro Oh My ZSH
Una vez que está instalado os voy a poner una serie de configuraciones, temas y plugin que harán que nuestra shell
luzca y funcione mucho mejor.
Template/Plantilla/Tema
Podéis ver una lista de temas con los que viene Oh My ZSH aquí, yo he escogido el tema agnoster que me gusta bastante.
Para configurarlo hay que editar el archivo ~/.zshrc con nuestro editor de texto favorito y cambiar la variable
ZSH_THEME con nuestro tema elegido.
# If you come from bash you might have to change your $PATH. # export PATH=$HOME/bin:/usr/local/bin:$PATH # Path to your oh-my-zsh installation. export ZSH=/root/.oh-my-zsh # Set name of the theme to load. Optionally, if you set this to "random" # it'll load a random theme each time that oh-my-zsh is loaded. # See https://github.com/robbyrussell/oh-my-zsh/wiki/Themes ZSH_THEME="agnoster" # Set list of themes to load # Setting this variable when ZSH_THEME=random # cause zsh load theme from this variable instead of # looking in ~/.oh-my-zsh/themes/ # An empty array have no effect # ZSH_THEME_RANDOM_CANDIDATES=( "robbyrussell" "agnoster" )
Plugin Manager Antigen
Este controlador de plugins te permite instalar fácilmente otros plugins, ahorra tiempo de no tener que hacerlo a
mano
Debian/Ubuntu y derivados
apt-get install zsh-antigen
CentOS y otros sistemas Linux
git clone https://github.com/zsh-users/antigen.git $ZSH_CUSTOM/plugins/antigen
Mac OS
brew install antigen
Al finalizar la instalación deberás añadir lo siguiente a tu archivo ~/.zshrc
# Antigen Plugin source ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/antigen/antigen.zsh
Plugin zsh-syntax-highlighting
Este plugin colorea los comandos de diferentes programas para ayudarte a la hora de lanzarlos
Debian/Ubuntu y derivados
apt-get install zsh-syntax-highlighting
CentOS y otros sistemas Linux
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git $ZSH_CUSTOM/plugins/zsh-syntax-highlighting
Mac OS
brew install zsh-syntax-highlighting
Una vez instalado tenemos que editar nuestro archivo e incluir este plugin en la lista de plugins:
# Which plugins would you like to load? # Standard plugins can be found in ~/.oh-my-zsh/plugins/* # Custom plugins may be added to ~/.oh-my-zsh/custom/plugins/ # Example format: plugins=(rails git textmate ruby lighthouse) # Add wisely, as too many plugins slow down shell startup. plugins=( git zsh-syntax-highlighting ) source $ZSH/oh-my-zsh.sh # User configuration
Y reiniciar nuestro terminal (o cerrar sesión y volver a iniciar)
Plugin zsh-autosuggestions
Este plugin busca en el historial tus últimos comandos y te va autocompletando los mismos, ahorra muchísimo tiempo.
Instalar de manera manual
Clona el repositorio en $ZSH_CUSTOM/plugins (por defecto ~/.oh-my-zsh/custom/plugins)
git clone https://github.com/zsh-users/zsh-autosuggestions $ZSH_CUSTOM/plugins/zsh-autosuggestions
Añade el plugin a la lista de plugins (tal y como hicimos en el paso anterior), este plugin debería ir después del
que instalamos anteriormente
plugins=( ... ... zsh-syntax-highlighting zsh-autosuggestions)
Reinicia el terminal (o cierra sesión y vuelve a iniciar)
Mac OS
brew install zsh-autosuggestions
Añade lo siguiente a tu archivo .zshrc:
source /usr/local/share/zsh-autosuggestions/zsh-autosuggestions.zsh
Otros ajustes
Algunas cosas más que te pueden resultar útiles
Borrar nombre de usuario
Quita el nombre de usuario del principio de la línea de comandos
# Remove user prompt_context() { if [[ "$USER" != "$DEFAULT_USER" || -n "$SSH_CLIENT" ]]; then prompt_segment black default "%(!.%{%F{yellow}%}.)$USER" fi }
Recent Comments