Terminal a tu medida: zsh, oh-my-zsh, powerlevel10k y tmux
Si seguiste el artículo anterior tienes un Debian 13 sólido y cifrado. Ahora toca hacer que el terminal sea un sitio en el que apetezca trabajar. El bash por defecto de Debian hace lo que tiene que hacer, pero hay vida más allá. En este artículo montamos zsh con oh-my-zsh, el tema powerlevel10k y tmux para gestionar sesiones y paneles como se merece.
No es solo estética. El autocompletado inteligente de zsh, las sugerencias en tiempo real o la capacidad de tmux para mantener sesiones vivas aunque cierres el terminal te cambian el día a día.
🐚 zsh — instalar y cambiar la shell por defecto
zsh viene en los repos de Debian, instalación directa:
sudo apt install -y zshCambiamos la shell por defecto para nuestro usuario:
chsh -s $(which zsh)Nota: El cambio de shell tiene efecto en la próxima sesión, no en la terminal actual. Cierra sesión y vuelve a entrar.
Al abrir la terminal por primera vez con zsh aparece el asistente de configuración inicial. Puedes seguirlo o simplemente pulsar q para salir — oh-my-zsh lo sustituirá en el siguiente paso.
🚀 oh-my-zsh
oh-my-zsh es el framework de configuración de zsh más extendido. Gestiona plugins, temas y mantiene todo organizado en ~/.oh-my-zsh/.
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"El instalador crea ~/.zshrc con una configuración base. A partir de aquí tocamos ese fichero para activar plugins y el tema.
Plugins esenciales
Instalamos dos plugins externos que no vienen con oh-my-zsh:
# Sugerencias basadas en el historial — escribe y aparece la continuación en gris
git clone https://github.com/zsh-users/zsh-autosuggestions \
${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
# Colorea la sintaxis mientras escribes — rojo si el comando no existe, verde si sí
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git \
${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlightingAbrimos ~/.zshrc y buscamos la línea de plugins para activarlos:
nano ~/.zshrcplugins=(git zsh-autosuggestions zsh-syntax-highlighting)
Nota: El orden importa — zsh-syntax-highlighting tiene que ir el último.
🎨 powerlevel10k — el tema que lo cambia todo
powerlevel10k es el tema más usado en zsh y por algo es. Rápido, configurable y con información útil en el prompt sin que pese.
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git \
${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/themes/powerlevel10kEn ~/.zshrc cambiamos el tema:
ZSH_THEME="powerlevel10k/powerlevel10k"
Recargamos la configuración:
source ~/.zshrcAl hacerlo arranca el asistente de configuración visual de p10k. Pregunta paso a paso qué información quieres ver, cómo de separados los elementos, si prefieres el prompt en una línea o dos, etc. En unos dos minutos tienes el prompt a tu gusto.
Si en algún momento quieres volver a configurarlo:
p10k configureLa configuración queda en ~/.p10k.zsh.
🖥️ tmux — sesiones y paneles
tmux es un multiplexor de terminal: permite tener varias sesiones, ventanas y paneles en una sola terminal, y lo mejor de todo, que esas sesiones sobrevivan aunque cierres la ventana o pierdas la conexión SSH.
Instalación
sudo apt install -y tmuxConceptos básicos
Antes de entrar en configuración conviene tener claro cómo funciona:
| Concepto | Qué es |
|---|---|
| Sesión | Un entorno tmux independiente. Puedes tener varias y desconectarte sin perderlas. |
| Ventana | Como una pestaña dentro de una sesión. |
| Panel | División de una ventana — horizontal o vertical. |
| Prefijo | La combinación de teclas que activa los comandos de tmux. Por defecto Ctrl+B. |
Comandos básicos de terminal:
tmux # nueva sesión
tmux new -s trabajo # nueva sesión con nombre
tmux ls # listar sesiones activas
tmux attach -t trabajo # volver a una sesión
tmux kill-session -t trabajoConfiguración — hacerlo más cómodo
La configuración por defecto de tmux es funcional pero mejorable. Creamos ~/.tmux.conf:
nano ~/.tmux.conf# Cambiar el prefijo de Ctrl+B a Ctrl+A — más cómodo y parecido a screen
unbind C-b
set-option -g prefix C-a
bind-key C-a send-prefix
# Splits con teclas más intuitivas
bind | split-window -h -c "#{pane_current_path}" # | → panel vertical
bind - split-window -v -c "#{pane_current_path}" # - → panel horizontal
unbind '"'
unbind %
# Navegar entre paneles con Alt+flechas (sin prefijo)
bind -n M-Left select-pane -L
bind -n M-Right select-pane -R
bind -n M-Up select-pane -U
bind -n M-Down select-pane -D
# Recargar configuración sin reiniciar tmux
bind r source-file ~/.tmux.conf \; display "Configuración recargada"
# Ratón — seleccionar paneles y redimensionar arrastrando
set -g mouse on
# Aumentar el historial de scroll
set -g history-limit 10000
# Numeración de ventanas desde 1 (más intuitivo con el teclado)
set -g base-index 1
setw -g pane-base-index 1
# Colores — terminal con 256 colores
set -g default-terminal "screen-256color"
# Barra de estado — información útil
set -g status-right '#[fg=colour233,bg=colour241] %d/%m #[fg=colour233,bg=colour245] %H:%M '
set -g status-right-length 50
Aplicar sin reiniciar tmux:
tmux source ~/.tmux.confReferencia rápida de atajos
Con la configuración anterior los atajos más usados quedan así:
| Acción | Atajo |
|---|---|
| Nuevo panel vertical | Ctrl+A luego | |
| Nuevo panel horizontal | Ctrl+A luego - |
| Navegar entre paneles | Alt+flechas |
| Nueva ventana | Ctrl+A luego c |
| Cambiar de ventana | Ctrl+A luego número |
| Desconectarse (sesión sigue viva) | Ctrl+A luego d |
| Volver a la sesión | tmux attach |
| Recargar configuración | Ctrl+A luego r |
📦 Llevar tu configuración a otra máquina en un minuto
Una vez que tienes el entorno a tu gusto, copiarlo a otro equipo es inmediato:
# Desde la máquina origen — copiar la configuración completa
scp ~/.zshrc usuario@nuevo-equipo:~/.zshrc
scp ~/.p10k.zsh usuario@nuevo-equipo:~/.p10k.zsh
scp ~/.tmux.conf usuario@nuevo-equipo:~/.tmux.conf
scp ~/.zsh_history usuario@nuevo-equipo:~/.zsh_historyEn el equipo destino, después de instalar zsh, oh-my-zsh, powerlevel10k y tmux, con esos cuatro ficheros tienes exactamente el mismo entorno: mismo prompt, mismo historial, mismos aliases y misma configuración de tmux.
Nota: Los plugins externos (autosuggestions y syntax-highlighting) hay que clonarlos igualmente en el equipo destino — los ficheros de configuración los referencian pero no los incluyen.
✅ Resultado
Con esto tienes:
- zsh como shell por defecto con completado inteligente
- oh-my-zsh gestionando plugins y tema
- Autosuggestions — el historial sugiere mientras escribes
- Syntax highlighting — sabes si el comando existe antes de ejecutarlo
- powerlevel10k — prompt con la información que necesitas, rápido
- tmux — sesiones que sobreviven al cierre de la terminal, paneles para trabajar en paralelo y configuración adaptada
Todo transportable a cualquier máquina en un minuto.