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/Distro Command
Archlinux pacman -S lsd
Fedora dnf install lsd
Gentoo sudo emerge sys-apps/lsd
macOS brew install lsd o sudo port install lsd
NixOS nix-env -iA nixos.lsd
FreeBSD pkg install lsd
NetBSD or any pkgsrc platform pkgin install lsd o cd /usr/pkgsrc/sysutils/lsd && make install
Windows scoop install lsd
Android (via Termux) pkg install lsd
Ubuntu/Debian based distro sudo dpkg -i lsd_0.22.0_amd64.deb abtener el archivo .deb en su github
Solus eopkg it lsd
Void Linux sudo 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/Distro Command
Ubuntu/Debian based distro sudo apt install bat o Shellsudo dpkg -i bat_0.18.3_amd64.deb
Arch Linux sudo pacman -S bat
Fedora dnf install bat
Gentoo sudo emerge sys-apps/bat
macOS brew install bat o sudo port install bat
Void Linux sudo xbps-install bat
Termux pkg install bat
FreeBSD pkg install bat
Windows scoop 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/Distro Command
MacOS brew install fzf or sudo port install fzf
Ubuntu/Debian based distro sudo apt install fzf
Arch Linux sudo pacman -S fzf
Fedora dnf install fzf
Gentoo sudo emerge sys-apps/fzf
Void Linux sudo xbps-install fzf
Alpine Linux sudo apk add fzf
Windows scoop 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.