¿Qué es Alacritty?
- Alacritty es un emulador de Terminal personalizable, de alto rendimiento al estar basado en GPU y estar escrito en Rust.
- Es minimalista, solo viene con lo basico y no trae tantas caracteristicas innecesarias
caracteristicas
- puedes abrir enlaces con un ctrl click
- ctrl +, ctrl -
Instalacion de Alacritty
Si no vas a necesitar de añadir un icono, autocompletado del shell, o documentacion, puedes usar cargo simplemente:
cargo install alacritty
Personalizar Alacritty
copia el archivo de alacritty.yml en la ruta ~/.config/alacritty/alacritty.yml
Temas en Alacritty
Alacritty en Windows
Tabs en Alacritty
La forma mas tipica de tener multiples terminales en Alacritty es usando Tmux
Xterm
una asunto importante con alacritty es que no soportar los colores de xterm, asi que si usas programas como ssh o tmux, este no aplicara el tema que uses. pero puedes usar este comando cada vez que los ejecutes:
TERM=xterm-256color ssh
o usar un alias en tu archivo bashrc, zshrc, o el que uses:
alias ssh='TERM=xterm-256color ssh'
- https://github.com/alacritty/alacritty/issues/3360#:~:text=worked%20for%20me-,TERM%3Dxterm%2D256color%20ssh,-9
- https://news.ycombinator.com/item?id=27075659
- https://unix.stackexchange.com/questions/597445/why-would-i-set-term-to-xterm-256color-when-using-alacritty
Establecer tamaño de Alacritty
https://blog.khmersite.net/2021/11/set-alacritty-default-dimensions/
Guia Completa de Alacritty en Windows (y Linux)
Alacritty es un emulador de terminal minimalista, rápido y altamente configurable escrito en Rust. En esta guía aprenderás a configurarlo desde cero en Windows con PowerShell 7, incluyendo temas, fuentes, atajos de teclado, y cómo reutilizar tu configuración en Linux.
1. Configuración Básica
El archivo de configuración de Alacritty en Windows se encuentra en:
%APPDATA%\alacritty\alacritty.toml
Es decir: C:\Users\<tu-usuario>\AppData\Roaming\alacritty\alacritty.toml
En Linux la ruta es ~/.config/alacritty/alacritty.toml.
Si el archivo no existe, créalo manualmente. Alacritty usa formato TOML.
Configuración inicial
working_directory = "C:/Users/Fazt/Desktop"
[window]
decorations = "buttonless"
opacity = 0.95
blur = true
padding = { x = 8, y = 8 }
[window.dimensions]
columns = 100
lines = 30
- working_directory: La carpeta donde se abre la terminal por defecto.
- decorations: Controla los bordes de la ventana.
"buttonless"oculta los botones de la barra de título pero mantiene el borde."none"elimina todo (pero pierdes la capacidad de redimensionar con el mouse). - opacity: Transparencia de la ventana (0.0 a 1.0).
- blur: Aplica desenfoque al fondo cuando la ventana es transparente.
- padding: Espacio interno en píxeles entre el borde de la ventana y el texto.
- dimensions: Tamaño inicial de la ventana en columnas y líneas.
Nota sobre el borde azul de Windows 11: Si al seleccionar la ventana de Alacritty ves un borde azul, eso no es de Alacritty. Es el "accent color" de Windows. Puedes cambiarlo en Settings > Personalization > Colors desactivando "Show accent color on title bars and window borders".
2. Fuentes y Nerd Fonts
Las Nerd Fonts son fuentes parcheadas que incluyen iconos de desarrollo. Son necesarias para que herramientas como Oh My Posh, Starship o Powerlevel10k muestren iconos correctamente.
Instalar JetBrainsMono Nerd Font
La forma más fácil es con Oh My Posh:
oh-my-posh font install JetBrainsMono
Importante: Cierra Alacritty antes de instalar o actualizar la fuente, ya que si está en uso no se podrán reemplazar los archivos.
Configurar la fuente
[font]
normal = { family = "JetBrainsMono Nerd Font" }
bold = { family = "JetBrainsMono Nerd Font" }
italic = { family = "JetBrainsMono Nerd Font" }
bold_italic = { family = "JetBrainsMono Nerd Font" }
size = 14
Nerd Fonts v2 vs v3
Las Nerd Fonts cambiaron los nombres de las familias de fuentes en la versión 3:
| Variante | Nerd Fonts v2 | Nerd Fonts v3 |
|---|---|---|
| Normal | JetBrainsMono Nerd Font | JetBrainsMono NF |
| Mono | JetBrainsMono Nerd Font Mono | JetBrainsMono NFM |
| Proporcional | - | JetBrainsMono NFP |
Si al iniciar Alacritty ves un error como font not found, verifica qué versión tienes instalada. Puedes verificar los nombres disponibles con PowerShell:
[System.Reflection.Assembly]::LoadWithPartialName("System.Drawing") | Out-Null
(New-Object System.Drawing.Text.InstalledFontCollection).Families |
Where-Object { $_.Name -like "*JetBrains*" } |
Select-Object -ExpandProperty Name
3. Temas
Alacritty tiene un repositorio oficial con más de 250 temas.
Instalar temas
Windows:
git clone https://github.com/alacritty/alacritty-theme "$env:APPDATA\alacritty\themes"
Linux:
git clone https://github.com/alacritty/alacritty-theme ~/.config/alacritty/themes
Aplicar un tema
Agrega la línea import al inicio de tu alacritty.toml:
Windows:
import = ["C:/Users/tu-usuario/AppData/Roaming/alacritty/themes/themes/monokai_charcoal.toml"]
Linux:
import = ["~/.config/alacritty/themes/themes/monokai_charcoal.toml"]
Temas populares
monokai_charcoaltokyo_night/tokyo_night_enhanced/tokyo_night_stormcatppuccin_mocha/catppuccin_macchiatodraculagruvbox_darknordone_darkrose_pinekanagawa_wave
Para cambiar de tema, solo modifica el nombre del archivo en la línea import.
4. Shell y PowerShell
Por defecto, Alacritty en Windows abre cmd.exe. Para usar PowerShell 7:
[shell]
program = "C:/Program Files/PowerShell/7/pwsh.exe"
args = ["-NoLogo"]
- program: Ruta al ejecutable del shell.
- args:
-NoLogooculta el banner de versión y el mensaje "Loading personal and system profiles took Xms".
Verificar la versión de PowerShell
Si tienes múltiples versiones de PowerShell instaladas, verifica cuál estás usando. Es común tener:
C:/Program Files/PowerShell/7/pwsh.exe(versión actual)C:/Program Files (x86)/PowerShell/7/pwsh.exe(versión antigua)
Si ves un mensaje como "A new PowerShell stable release is available", probablemente estás apuntando a una versión vieja. Actualiza la ruta en tu config.
Desactivar notificación de actualización
Si no quieres ver el aviso de nueva versión de PowerShell, agrega esto al inicio de tu $PROFILE:
$Env:POWERSHELL_UPDATECHECK = 'Off'
Para editar tu profile: code $PROFILE o notepad $PROFILE.
5. Keybindings de PowerShell (PSReadLine)
Alacritty es solo un emulador de terminal. Los atajos para edición de línea (como borrar texto o cerrar la terminal) pertenecen al shell, no a Alacritty. Esto tiene la ventaja de que funcionan en cualquier terminal.
Agrega estos atajos a tu $PROFILE de PowerShell:
# PSReadLine keybindings
Set-PSReadLineKeyHandler -Chord 'Ctrl+u' -Function BackwardDeleteLine
Set-PSReadLineKeyHandler -Chord 'Ctrl+d' -Function DeleteCharOrExit
Atajos disponibles
| Atajo | Función | Descripción |
|---|---|---|
Ctrl+U |
BackwardDeleteLine |
Borra desde el cursor hasta el inicio de la línea |
Ctrl+D |
DeleteCharOrExit |
Si hay texto, borra un carácter. Si la línea está vacía, cierra la terminal |
Ctrl+K |
ForwardDeleteLine |
Borra desde el cursor hasta el final de la línea |
Ctrl+A |
BeginningOfLine |
Mueve el cursor al inicio de la línea |
Ctrl+E |
EndOfLine |
Mueve el cursor al final de la línea |
Esc |
- | Borra toda la línea (nativo de PowerShell) |
Tip: Estos atajos (
Ctrl+U,Ctrl+D, etc.) vienen por defecto en bash y zsh. En PowerShell necesitas configurarlos manualmente con PSReadLine.
6. Keybindings de Alacritty
Los keybindings de Alacritty se configuran en la sección [keyboard]:
[keyboard]
bindings = [
{ key = "N", mods = "Control|Shift", action = "CreateNewWindow" },
{ key = "F11", action = "ToggleFullscreen" },
]
Atajos por defecto
| Atajo | Acción |
|---|---|
Ctrl+Shift+C |
Copiar |
Ctrl+Shift+V |
Pegar |
Ctrl+Shift++ |
Aumentar tamaño de fuente |
Ctrl+- |
Disminuir tamaño de fuente |
Ctrl+0 |
Restablecer tamaño de fuente |
Atajos personalizados
| Atajo | Acción | Descripción |
|---|---|---|
Ctrl+Shift+N |
CreateNewWindow |
Abre una nueva ventana de Alacritty |
F11 |
ToggleFullscreen |
Alterna entre pantalla completa y ventana |
Acciones disponibles
Algunas acciones útiles: CreateNewWindow, ToggleFullscreen, Copy, Paste, ScrollPageUp, ScrollPageDown, ScrollToTop, ScrollToBottom, ResetFontSize, IncreaseFontSize, DecreaseFontSize.
Sobre los tabs
Alacritty no tiene tabs por diseño. Es intencionalmente minimalista. Si necesitas tabs, tus opciones son:
- Usar múltiples ventanas con
Ctrl+Shift+N - Usar un multiplexor de terminal como tmux o zellij (en Linux)
- Usar Windows Terminal que sí tiene tabs nativos
7. Cursor
[cursor.style]
shape = "Beam"
blinking = "On"
Formas disponibles
| Valor | Descripción |
|---|---|
"Block" |
Bloque sólido (por defecto) |
"Underline" |
Línea debajo del carácter |
"Beam" |
Línea vertical (como en editores de texto) |
Parpadeo
| Valor | Descripción |
|---|---|
"Off" |
Sin parpadeo |
"On" |
Parpadeo siempre activo |
"Always" |
Parpadeo siempre, incluso si la ventana no está enfocada |
8. Scroll
[scrolling]
history = 50000
El valor por defecto es 10,000 líneas. Si trabajas con logs o salidas extensas, aumentar a 50,000 es recomendable. El valor máximo es 100,000. Puedes poner 0 para desactivar el scrollback.
Para hacer scroll, usa la rueda del mouse o Shift+PageUp / Shift+PageDown.
9. Selección y Mouse
[selection]
save_to_clipboard = true
[mouse]
bindings = [
{ mouse = "Right", action = "Copy" },
]
- save_to_clipboard: Al seleccionar texto con el mouse, se copia automáticamente al portapapeles.
- mouse.bindings: Click derecho copia la selección al portapapeles.
Selección rápida
- Click y arrastrar: Selecciona texto
- Doble click: Selecciona una palabra
- Triple click: Selecciona una línea completa
10. URLs y Hints
El sistema de hints de Alacritty permite interactuar con patrones de texto como URLs.
[hints]
enabled = [
{
hyperlinks = true,
regex = "(https?://)[^ ]+",
command = { program = "cmd", args = ["/c", "start"] },
post_processing = true,
mouse = { mods = "Control", enabled = true },
binding = { key = "U", mods = "Control|Shift" }
}
]
Comportamiento
- Ctrl+Click en una URL: La abre en el navegador por defecto.
- Ctrl+Shift+U: Activa el modo hints, donde las URLs se resaltan con etiquetas. Escribe la etiqueta para abrir esa URL.
Diferencia entre Windows y Linux
El command para abrir URLs varía por sistema operativo:
| OS | Command |
|---|---|
| Windows | { program = "cmd", args = ["/c", "start"] } |
| Linux | { program = "xdg-open", args = [] } |
| macOS | { program = "open", args = [] } |
11. Dotfiles: Compartir Configuración entre Máquinas
La mejor forma de mantener tu configuración sincronizada entre máquinas es un repositorio de dotfiles.
Estructura recomendada
dotfiles/
├── README.md
├── .gitignore
├── alacritty/
│ ├── alacritty-windows.toml
│ ├── alacritty-linux.toml
│ ├── install.ps1 # Windows
│ └── install.sh # Linux
├── ghostty/ # futuro
├── tmux/ # futuro
└── powershell/ # futuro
Crear el repositorio
mkdir dotfiles && cd dotfiles
git init
# ... agregar archivos ...
gh repo create dotfiles --public --source=. --remote=origin --push
Script de instalación para Windows (install.ps1)
$alacrittyDir = "$env:APPDATA\alacritty"
if (-not (Test-Path $alacrittyDir)) {
New-Item -ItemType Directory -Path $alacrittyDir -Force
}
Copy-Item "alacritty-windows.toml" "$alacrittyDir\alacritty.toml" -Force
$themesDir = "$alacrittyDir\themes"
if (-not (Test-Path $themesDir)) {
git clone https://github.com/alacritty/alacritty-theme $themesDir
}
Write-Host "Alacritty config installed!" -ForegroundColor Green
Script de instalación para Linux (install.sh)
#!/bin/bash
mkdir -p ~/.config/alacritty
cp alacritty-linux.toml ~/.config/alacritty/alacritty.toml
if [ ! -d ~/.config/alacritty/themes ]; then
git clone https://github.com/alacritty/alacritty-theme ~/.config/alacritty/themes
fi
echo "Alacritty config installed!"
Diferencias clave entre Windows y Linux
| Configuración | Windows | Linux |
|---|---|---|
| Shell | C:/Program Files/PowerShell/7/pwsh.exe |
/bin/bash o /bin/zsh |
| Ruta de temas | %APPDATA%\alacritty\themes\... |
~/.config/alacritty/themes/... |
| Abrir URLs | cmd /c start |
xdg-open |
| Decoraciones | "buttonless" |
"None" |
| Working directory | "C:/Users/User/Desktop" |
No necesario |
Gestores de dotfiles alternativos
- chezmoi: El más completo. Soporta templates para manejar diferencias entre sistemas operativos.
- GNU Stow: Simple, usa symlinks. Ideal en Linux.
- yadm: Funciona como git pero diseñado para dotfiles.
12. Configuración Final Completa
alacritty.toml (Windows)
import = ["C:/Users/tu-usuario/AppData/Roaming/alacritty/themes/themes/monokai_charcoal.toml"]
working_directory = "C:/Users/tu-usuario/Desktop"
[shell]
program = "C:/Program Files/PowerShell/7/pwsh.exe"
args = ["-NoLogo"]
[window]
decorations = "buttonless"
opacity = 0.95
blur = true
padding = { x = 8, y = 8 }
[window.dimensions]
columns = 100
lines = 30
[font]
normal = { family = "JetBrainsMono Nerd Font" }
bold = { family = "JetBrainsMono Nerd Font" }
italic = { family = "JetBrainsMono Nerd Font" }
bold_italic = { family = "JetBrainsMono Nerd Font" }
size = 14
[cursor.style]
shape = "Beam"
blinking = "On"
[scrolling]
history = 50000
[hints]
enabled = [
{
hyperlinks = true,
regex = "(https?://)[^ ]+",
command = { program = "cmd", args = ["/c", "start"] },
post_processing = true,
mouse = { mods = "Control", enabled = true },
binding = { key = "U", mods = "Control|Shift" }
}
]
[selection]
save_to_clipboard = true
[keyboard]
bindings = [
{ key = "N", mods = "Control|Shift", action = "CreateNewWindow" },
{ key = "F11", action = "ToggleFullscreen" },
]
[mouse]
bindings = [
{ mouse = "Right", action = "Copy" },
]
PowerShell $PROFILE
$Env:POWERSHELL_UPDATECHECK = 'Off'
oh-my-posh init pwsh --config "$env:POSH_THEMES_PATH\zash.omp.json" | Invoke-Expression
Import-Module -Name Terminal-Icons
# PSReadLine keybindings
Set-PSReadLineKeyHandler -Chord 'Ctrl+u' -Function BackwardDeleteLine
Set-PSReadLineKeyHandler -Chord 'Ctrl+d' -Function DeleteCharOrExit
Guía Completa de Alacritty en Windows
1. Configuración Básica
- Archivo de configuración:
%APPDATA%\alacritty\alacritty.toml - Configurar shell (PowerShell 7)
- Working directory
- Dimensiones de ventana (columns, lines)
- Decoraciones (buttonless, none)
- Opacidad y blur
2. Fuentes y Nerd Fonts
- Instalar JetBrainsMono Nerd Font con oh-my-posh
- Diferencia entre Nerd Fonts v2 y v3 (nombres: "Nerd Font" vs "NF/NFM/NFP")
- Configurar fuente en alacritty.toml (normal, bold, italic, bold_italic)
- Tamaño de fuente
3. Temas
- Clonar repositorio oficial de temas (alacritty/alacritty-theme)
- Importar tema con
import = [...] - Temas populares: tokyo_night_enhanced, monokai_charcoal, catppuccin, dracula, nord
4. Shell y PowerShell
- Apuntar a la versión correcta de PowerShell (Program Files vs x86)
- Ocultar banner de inicio con
-NoLogo - Desactivar notificación de actualización (
$Env:POWERSHELL_UPDATECHECK = 'Off')
5. Keybindings de PowerShell (PSReadLine)
Ctrl+U— Borrar línea hacia atrás (BackwardDeleteLine)Ctrl+D— Cerrar terminal si la línea está vacía (DeleteCharOrExit)- Configuración en
$PROFILEde PowerShell
6. Keybindings de Alacritty
Ctrl+Shift+N— Nueva ventana (CreateNewWindow)F11— Pantalla completa (ToggleFullscreen)Ctrl+Shift+C/Ctrl+Shift+V— Copiar/Pegar (por defecto)
7. Cursor
- Cambiar forma: Block, Underline, Beam
- Activar parpadeo (
blinking = "On")
8. Scroll
- Aumentar historial de scroll (por defecto 10,000, recomendado 50,000)
9. Selección y Mouse
- Auto copiar al seleccionar (
save_to_clipboard = true) - Click derecho para copiar (
mouse.bindingscon Right → Copy)
10. URLs y Hints
- Ctrl+Click para abrir URLs en el navegador
- Configurar
[hints]con regex, command y mouse bindings - Windows usa
cmd /c start, Linux usaxdg-open - Ctrl+Shift+U para modo hints con teclado
11. Dotfiles: Compartir Configuración entre Máquinas
- Crear repo de dotfiles en GitHub
- Separar configs por OS (alacritty-windows.toml, alacritty-linux.toml)
- Scripts de instalación (install.ps1 para Windows, install.sh para Linux)
- Diferencias clave entre Windows y Linux (shell, rutas, decoraciones, open command)
- Alternativas: chezmoi, GNU Stow, yadm
12. Tips Extras
- Alacritty no tiene tabs por diseño (usar multiplexores o múltiples ventanas)
- El borde azul de ventana activa es de Windows 11, no de Alacritty
- Oh My Posh: actualizar con
winget upgrade JanDeDobbeleer.OhMyPosh - Actualizar fuentes: cerrar Alacritty antes de reinstalar