Published on

Personaliza tu terminal en Linux/Unix con zsh

Autores

Personaliza tu terminal en Linux / Unix con zsh

Para personalizar la terminal de Linux/Unix con ZSH y OhMyZSH, debemos tener instalado zsh y ohmyzsh.

Para instalar zsh, ejecutamos el comando:

sudo apt install zsh

Despues de instalar zsh, ejecutamos el comando:

chsh -s /usr/bin/zsh

Reinicia la terminal para que se aplique el cambio.

Para instalar ohmyzsh, ejecutamos el comando:

wget https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh
sh install.sh

Plugins

Para personalizar la terminal, debemos configurar los plugins. Para ello debemos de editar el archivo .zshrc:

vi ~/.zshrc

Y añadir o eliminar los plugins que deseemos, ademas de distintas configuraciones.

Por ejemplo, podria verse asi:

plugins=(
  git
  bundler
  dotenv
  macos
  rake
  rbenv
  ruby
)

Temas

Robby's Theme es el tema predeterminado. No es el más elegante. No es el más simple. Es justo el adecuado (para algunos). Una vez que encuentres un tema que te gustaría usar, deberás editar el archivo ~/.zshrc. Verá una variable de entorno (todas en mayúsculas) que se ve así:

ZSH_THEME="robbyrussell"

Para que todo se vea correctamente tendremos que usar una fuente especifica, que podras encontrar en el repositorio de Nerd Fonts..

Uno de los plugins para temas más conocido es el powerlevel10k, que se puede instalar con el comando:

git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k

y cambiar el tema a powerlevel10k.

ZSH_THEME="powerlevel10k/powerlevel10k"

en el archivo .zshrc.

LSD

LSD es un plugin que sustituye a la funcionalidad de ls por una que muestra los archivos y directorios de forma más amigable.

Para poder instalarlo podemos usar los siguientes comandos dependiendo del S.O.

OS/DistroCommand
Archlinuxpacman -S lsd
Fedoradnf install lsd
Gentoosudo emerge sys-apps/lsd
macOSbrew install lsd o sudo port install lsd
NixOSnix-env -iA nixos.lsd
FreeBSDpkg install lsd
NetBSD or any pkgsrc platformpkgin install lsd o cd /usr/pkgsrc/sysutils/lsd && make install
Windowsscoop install lsd
Android (via Termux)pkg install lsd
Ubuntu/Debian based distrosudo dpkg -i lsd_0.22.0_amd64.deb abtener el archivo .deb en su github
Soluseopkg it lsd
Void Linuxsudo xbps-install lsd

Para poder usarlo en sustitución de la funcionalidad de ls, debemos de añadir un alias en el archivo .zshrc:

alias ls='lsd'

Para más información visita la documentación en su github.

Bat

Bat es un plugin que permite mostrar el contenido de un archivo de texto, como hace el comando cat, pero con una forma más amigable.

Para instalarlo podemos usar los siguientes comandos dependiendo del S.O.

OS/DistroCommand
Ubuntu/Debian based distrosudo apt install bat o Shellsudo dpkg -i bat_0.18.3_amd64.deb
Arch Linuxsudo pacman -S bat
Fedoradnf install bat
Gentoosudo emerge sys-apps/bat
macOSbrew install bat o sudo port install bat
Void Linuxsudo xbps-install bat
Termuxpkg install bat
FreeBSDpkg install bat
Windowsscoop install bat o choco install bat

Para poder usarlo en sustitución de la funcionalidad de cat, debemos de añadir un alias en el archivo .zshrc:

alias cat='bat'

Para más información visita la documentación en su github.

Fzf

Fzf, las siglas de Fast Zipper File Search, es un plugin que permite buscar archivos y directorios rapido y de forma recursiva.

Para instalarlo podemos usar los siguientes comandos dependiendo del S.O.

OS/DistroCommand
MacOSbrew install fzf or sudo port install fzf
Ubuntu/Debian based distrosudo apt install fzf
Arch Linuxsudo pacman -S fzf
Fedoradnf install fzf
Gentoosudo emerge sys-apps/fzf
Void Linuxsudo xbps-install fzf
Alpine Linuxsudo apk add fzf
Windowsscoop install fzf o choco install fzf

Para poder usarlo puedes ejecutar el comando fzf.

Tambien puedes ejecutar el comando concatenando el comando fzf con el comando find para buscar archivos y directorios.

find * -type f | fzf > selected

Para más información visita la documentación en su github.