Guía Completa de Kitty Terminal

Operating System
Fecha de publicación

31 de diciembre de 2025

Fecha de última modificación

2 de enero de 2026

Resumen
Kitty es un emulador de terminal moderno, rápido y altamente personalizable que aprovecha la aceleración por GPU para ofrecer un rendimiento excepcional. Esta guía completa aborda desde la instalación en diferentes sistemas operativos hasta la configuración avanzada y optimización profunda de Kitty. Se exploran en detalle; arquitectura y principios de diseño, jerarquía de ventanas/pestañas, configuración de kitty.conf, manejo de fuentes con ligaduras, gestión avanzada de colores y temas, layouts nativos (tall, fat, grid, splits, stack), kittens (extensiones), control remoto, integración con shell, marcas, sesiones, optimización de rendimiento y solución de problemas frecuentes. Dirigida tanto a usuarios que buscan reemplazar terminales tradicionales por una opción más veloz y moderna, como a usuarios avanzados que desean exprimir al máximo las capacidades de personalización y automatización que ofrece Kitty en entornos de desarrollo y administración de sistemas.
Palabras clave

Kitty Terminal, Linux, Linea de comandos

¿Qué es Kitty?

Kitty es un emulador de terminal moderno, rápido y rico en características, diseñado desde cero para aprovechar las GPUs modernas. Creado por Kovid Goyal, es conocido por:

Características Principales:

Por Qué Usar Kitty

Ventajas sobre otros terminales:

Característica Kitty Alacritty iTerm2 GNOME Terminal
Renderizado por GPU No
Pestañas nativas No
División de paneles No No
Soporte para imágenes No No
Ligaduras (ligatures)
Sistema de extensiones Sí (kittens) No No
Control remoto (SSH) No No
Multiplataforma Sí (Linux/macOS/Windows) Sí (Linux/macOS/Windows) No (solo macOS) No (solo Linux)

Instalación

Requisitos del Sistema

Mínimos:

  • OpenGL 3.3+
  • Linux, macOS, o Windows (WSL)
  • Python 3.6+

Recomendados:

  • GPU moderna con drivers actualizados
  • Monitor de alta resolución (4K/Retina)
  • Fuente con ligaduras (FiraCode, JetBrains Mono)

Linux

Ubuntu/Debian:

sudo apt install kitty

Arch Linux:

sudo pacman -S kitty

Fedora:

sudo dnf install kitty

Desde binario oficial (recomendado):

curl -L https://sw.kovidgoyal.net/kitty/installer.sh | sh /dev/stdin

macOS

Homebrew:

brew install --cask kitty

Desde DMG:

Descargar desde: https://github.com/kovidgoyal/kitty/releases

Windows (WSL)

curl -L https://sw.kovidgoyal.net/kitty/installer.sh | sh /dev/stdin

Verificar Instalación

kitty --version

Instalación de Dependencias Opcionales

# Herramientas útiles para kittens
sudo apt install imagemagick          # Procesamiento de imágenes
sudo apt install bat                  # Mejor syntax highlighting
sudo apt install fzf                  # Fuzzy finder
sudo apt install ripgrep              # Búsqueda rápida

Filosofía y Diseño

Principios de Diseño

  1. Velocidad: GPU rendering para máximo rendimiento
  2. Simplicidad: Configuración en un solo archivo
  3. Extensibilidad: Kittens para añadir funcionalidad
  4. Estándares: Soporte completo de especificaciones modernas
  5. Teclado primero: Control total desde teclado

Arquitectura

Componentes principales:

  • Core (C): Renderizado GPU, performance crítico
  • UI (Python): Interfaz, configuración, extensibilidad
  • Kittens (Python/Go): Programas auxiliares

Stack tecnológico:

  • OpenGL para renderizado
  • HarfBuzz para text shaping
  • FontConfig para gestión de fuentes
  • libunistring para Unicode

Conceptos Básicos

Jerarquía: OS Windows > Tabs > Windows

┌─────────────────────────────────────┐
│ OS Window (ventana del sistema)     │
│ ┌───────────────────────────────┐   │
│ │ Tab 1    Tab 2    Tab 3       │   │
│ ├───────────────────────────────┤   │
│ │ ┌──────────┬──────────┐       │   │
│ │ │ Window 1 │ Window 2 │       │   │
│ │ │          │          │       │   │
│ │ └──────────┴──────────┘       │   │
│ └───────────────────────────────┘   │
└─────────────────────────────────────┘

OS Window: Ventana del sistema operativo Tab: Pestaña dentro de un OS Window Window: Panel dentro de un Tab (como splits en tmux)

Primer Uso

Al abrir Kitty por primera vez:

# Abrir Kitty
kitty

# Ver ayuda
Ctrl+Shift+F1

# Editar configuración
Ctrl+Shift+F2

# Recargar configuración
Ctrl+Shift+F5

Configuración (kitty.conf)

Ubicación del Archivo

Linux/macOS: ~/.config/kitty/kitty.conf
Windows: %LOCALAPPDATA%\kitty\kitty.conf

Generar Configuración Por Defecto

# Generar con comentarios
kitty +runpy 'from kitty.config import *; print(commented_out_default_config())'

# O abrir para editar
Ctrl+Shift+F2

Estructura de Configuración

Secciones principales:

  1. Fuentes
  2. Cursor
  3. Scrollback
  4. Mouse
  5. Terminal bell
  6. Window layout
  7. Tab bar
  8. Color scheme
  9. Advanced
  10. OS tweaks
  11. Keyboard shortcuts

Configuración Básica Recomendada

# ==========================================
# CONFIGURACIÓN BÁSICA DE KITTY
# ==========================================

# Fuentes
font_family      JetBrains Mono
bold_font        auto
italic_font      auto
bold_italic_font auto
font_size        12.0

# Cursor
cursor_shape block
cursor_blink_interval 0
cursor_stop_blinking_after 15.0

# Scrollback
scrollback_lines 10000
scrollback_pager less --chop-long-lines --RAW-CONTROL-CHARS +INPUT_LINE_NUMBER

# Mouse
mouse_hide_wait 3.0
url_color #0087bd
url_style curly
open_url_with default
detect_urls yes
copy_on_select no

# Ventanas
remember_window_size  yes
initial_window_width  640
initial_window_height 400
window_border_width 0.5pt
window_margin_width 0
window_padding_width 0
active_border_color #00ff00
inactive_border_color #cccccc

# Pestañas
tab_bar_edge bottom
tab_bar_style fade
tab_bar_min_tabs 2
tab_title_template "{index}: {title}"

# Colores (Dracula theme)
foreground #f8f8f2
background #282a36
selection_foreground #ffffff
selection_background #44475a

# Negro
color0  #21222c
color8  #6272a4

# Rojo
color1  #ff5555
color9  #ff6e6e

# Verde
color2  #50fa7b
color10 #69ff94

# Amarillo
color3  #f1fa8c
color11 #ffffa5

# Azul
color4  #bd93f9
color12 #d6acff

# Magenta
color5  #ff79c6
color13 #ff92df

# Cyan
color6  #8be9fd
color14 #a4ffff

# Blanco
color7  #f8f8f2
color15 #ffffff

# Rendimiento
repaint_delay 10
input_delay 3
sync_to_monitor yes

# Bell
enable_audio_bell no
visual_bell_duration 0.0
window_alert_on_bell yes
bell_on_tab "🔔 "

# Advanced
shell .
editor .
allow_remote_control yes
listen_on unix:/tmp/kitty
clipboard_control write-clipboard write-primary read-clipboard-ask read-primary-ask

# OS Específico (macOS)
macos_titlebar_color system
macos_option_as_alt no
macos_hide_from_tasks no
macos_quit_when_last_window_closed no

# Layouts habilitados
enabled_layouts tall:bias=50;full_size=1,stack,fat:bias=50;full_size=1,grid,splits

# ==========================================
# MAPEOS DE TECLADO
# ==========================================

# Modificador principal
kitty_mod ctrl+shift

# Clipboard
map kitty_mod+c copy_to_clipboard
map kitty_mod+v paste_from_clipboard
map kitty_mod+s paste_from_selection

# Scrolling
map kitty_mod+up scroll_line_up
map kitty_mod+down scroll_line_down
map kitty_mod+page_up scroll_page_up
map kitty_mod+page_down scroll_page_down
map kitty_mod+home scroll_home
map kitty_mod+end scroll_end
map kitty_mod+h show_scrollback
map kitty_mod+g show_last_command_output

# Ventanas
map kitty_mod+enter new_window
map kitty_mod+n new_os_window
map kitty_mod+w close_window
map kitty_mod+] next_window
map kitty_mod+[ previous_window
map kitty_mod+f move_window_forward
map kitty_mod+b move_window_backward
map kitty_mod+` move_window_to_top
map kitty_mod+r start_resizing_window
map kitty_mod+1 first_window
map kitty_mod+2 second_window
map kitty_mod+3 third_window
map kitty_mod+4 fourth_window
map kitty_mod+5 fifth_window

# Tabs
map kitty_mod+t new_tab
map kitty_mod+q close_tab
map kitty_mod+right next_tab
map kitty_mod+left previous_tab
map kitty_mod+. move_tab_forward
map kitty_mod+, move_tab_backward
map kitty_mod+alt+t set_tab_title

# Layouts
map kitty_mod+l next_layout

# Fuentes
map kitty_mod+equal change_font_size all +2.0
map kitty_mod+minus change_font_size all -2.0
map kitty_mod+backspace change_font_size all 0

# Misc
map kitty_mod+f1 show_kitty_doc overview
map kitty_mod+f2 edit_config_file
map kitty_mod+f5 load_config_file
map kitty_mod+f6 debug_config
map kitty_mod+f11 toggle_fullscreen
map kitty_mod+f10 toggle_maximized
map kitty_mod+u kitten unicode_input
map kitty_mod+e open_url_with_hints
map kitty_mod+escape kitty_shell window

# Opacidad de fondo
map kitty_mod+a>m set_background_opacity +0.1
map kitty_mod+a>l set_background_opacity -0.1
map kitty_mod+a>1 set_background_opacity 1
map kitty_mod+a>d set_background_opacity default

# Reset terminal
map kitty_mod+delete clear_terminal reset active

Configuración Avanzada

Fuentes con fallbacks:

font_family      JetBrains Mono
# Símbolos especiales
symbol_map U+E0A0-U+E0A3,U+E0C0-U+E0C7 PowerlineSymbols
# Emojis
symbol_map U+1F300-U+1F9FF Noto Color Emoji

Ligaduras:

# Habilitar ligaduras
disable_ligatures never
# O solo cuando el cursor no está sobre ellas
# disable_ligatures cursor

Modificar fuentes:

# Ajustar posición del underline
modify_font underline_position 2
modify_font underline_thickness 150%
# Ajustar tamaño de celda
modify_font cell_width 100%
modify_font cell_height 100%

Atajos de Teclado

Modificador Principal

Por defecto kitty_mod = Ctrl+Shift

En macOS algunos también usan Cmd ()

Scrolling

Atajo Acción
Ctrl+Shift+Up Scroll línea arriba
Ctrl+Shift+Down Scroll línea abajo
Ctrl+Shift+Page Up Scroll página arriba
Ctrl+Shift+Page Down Scroll página abajo
Ctrl+Shift+Home Ir al inicio
Ctrl+Shift+End Ir al final
Ctrl+Shift+Z Prompt anterior (shell integration)
Ctrl+Shift+X Prompt siguiente (shell integration)
Ctrl+Shift+H Ver scrollback en pager
Ctrl+Shift+G Ver último comando (shell integration)
Ctrl+Shift+/ Buscar en scrollback

Tabs

Atajo Acción
Ctrl+Shift+T Nueva tab
Ctrl+Shift+Q Cerrar tab
Ctrl+Shift+Right Tab siguiente
Ctrl+Shift+Left Tab anterior
Ctrl+Shift+. Mover tab adelante
Ctrl+Shift+, Mover tab atrás
Ctrl+Shift+Alt+T Renombrar tab
Ctrl+Alt+1...9 Ir a tab N

Windows (Ventanas dentro de Tabs)

Atajo Acción
Ctrl+Shift+Enter Nueva window
Ctrl+Shift+N Nueva OS window
Ctrl+Shift+W Cerrar window
Ctrl+Shift+] Window siguiente
Ctrl+Shift+[ Window anterior
Ctrl+Shift+F Mover window adelante
Ctrl+Shift+B Mover window atrás
Ctrl+Shift+`` `| Mover window al top | |Ctrl+Shift+R| Redimensionar window | |Ctrl+Shift+F7| Selección visual de window | |Ctrl+Shift+F8| Swap visual de window | |Ctrl+Shift+1…0` Ir a window N

Layouts

Atajo Acción
Ctrl+Shift+L Siguiente layout

Clipboard

Atajo Acción
Ctrl+Shift+C Copiar
Ctrl+Shift+V Pegar
Ctrl+Shift+S Pegar de selección
Ctrl+Shift+O Pasar selección a programa

Fuentes

Atajo Acción
Ctrl+Shift+Equal Aumentar tamaño
Ctrl+Shift+Minus Disminuir tamaño
Ctrl+Shift+Backspace Reset tamaño

Miscelánea

Atajo Acción
Ctrl+Shift+F1 Mostrar ayuda
Ctrl+Shift+F2 Editar config
Ctrl+Shift+F5 Recargar config
Ctrl+Shift+F6 Debug config
Ctrl+Shift+F11 Toggle fullscreen
Ctrl+Shift+F10 Toggle maximized
Ctrl+Shift+U Input Unicode
Ctrl+Shift+E Open URL hints
Ctrl+Shift+Escape Kitty shell
Ctrl+Shift+Delete Reset terminal

Atajos en macOS

Reemplazan algunos con Cmd (⌘):

Windows/Linux macOS
Ctrl+Shift+T Cmd+T
Ctrl+Shift+W Cmd+W
Ctrl+Shift+C Cmd+C
Ctrl+Shift+V Cmd+V
Ctrl+Shift+N Cmd+N
Ctrl+Shift+F2 Cmd+,
Ctrl+Shift+F11 Ctrl+Cmd+F

Ventanas y Pestañas

Concepto de Multiplexación

Kitty tiene multiplexación nativa (sin necesidad de tmux):

Jerarquía:

OS Window (kitty instance)
  └── Tab 1
      ├── Window 1
      ├── Window 2
      └── Window 3
  └── Tab 2
      └── Window 1

Crear Ventanas y Tabs

Nueva window:

# Atajo
Ctrl+Shift+Enter

# Comando
kitty @ launch --type=window

# Con directorio específico
map f1 launch --cwd=current

Nueva tab:

# Atajo
Ctrl+Shift+T

# Con programa
map f1 new_tab_with_cwd

Nueva OS window:

Ctrl+Shift+N

Mover Windows y Tabs

Mover windows:

map ctrl+shift+f move_window_forward
map ctrl+shift+b move_window_backward
map ctrl+shift+` move_window_to_top

# Direccional
map shift+up move_window up
map shift+down move_window down
map shift+left move_window left
map shift+right move_window right

Mover tabs:

map ctrl+shift+. move_tab_forward
map ctrl+shift+, move_tab_backward

Detach (Separar)

Detach window:

# A nueva OS window
map ctrl+f2 detach_window

# A nueva tab
map ctrl+f3 detach_window new-tab

# A tab anterior
map ctrl+f3 detach_window tab-prev

# Preguntar destino
map ctrl+f4 detach_window ask

Detach tab:

# A nueva OS window
map ctrl+f2 detach_tab

# Preguntar destino
map ctrl+f4 detach_tab ask

Títulos Personalizados

# Renombrar tab
map ctrl+shift+alt+t set_tab_title

# Renombrar window
map f1 set_window_title

# Template de título
tab_title_template "{index}: {title}"

Layouts (Diseños)

Layouts Disponibles

Kitty tiene 7 layouts built-in:

  1. Stack: Una window a la vez (maximizada)
  2. Tall: Una o más windows full-height a la izquierda
  3. Fat: Una o más windows full-width arriba
  4. Grid: Grid balanceado
  5. Splits: Arreglo arbitrario (como tmux)
  6. Horizontal: Todas las windows lado a lado
  7. Vertical: Todas las windows una debajo de otra

Stack Layout

┌────────────────────────────┐
│                            │
│                            │
│       Window Actual        │
│       (maximizada)         │
│                            │
│                            │
└────────────────────────────┘

Configuración:

enabled_layouts stack

Tall Layout

┌──────────┬─────────────────┐
│          │                 │
│          │                 │
│          ├─────────────────┤
│  Full    │                 │
│  Height  │                 │
│          ├─────────────────┤
│          │                 │
│          │                 │
└──────────┴─────────────────┘

Configuración:

enabled_layouts tall:bias=50;full_size=1;mirrored=false

# Opciones:
# bias: 10-90 (split horizontal)
# full_size: número de windows full-height
# mirrored: true/false (full-height a la derecha)

Acciones:

# Aumentar/disminuir windows full-height
map ctrl+[ layout_action decrease_num_full_size_windows
map ctrl+] layout_action increase_num_full_size_windows

# Toggle mirror
map ctrl+/ layout_action mirror toggle

# Cambiar bias
map ctrl+. layout_action bias 50 62 70

Fat Layout

┌────────────────────────────┐
│                            │
│      Full Width            │
│                            │
├─────────┬─────────┬────────┤
│         │         │        │
│         │         │        │
└─────────┴─────────┴────────┘

Configuración:

enabled_layouts fat:bias=50;full_size=1;mirrored=false

Mismas acciones que Tall layout.

Grid Layout

┌────────┬────────┬────────┐
│        │        │        │
│        │        │        │
├────────┼────────┼────────┤
│        │        │        │
│        │        │        │
└────────┴────────┴────────┘

Configuración:

enabled_layouts grid

Splits Layout

El más flexible - como tmux/vim splits.

┌──────────┬─────────────────┐
│          │                 │
│          │                 │
│          ├────────┬────────┤
│          │        │        │
│          │        │        │
│          ├────────┴────────┤
│          │                 │
│          │                 │
└──────────┴─────────────────┘

Configuración:

enabled_layouts splits:split_axis=horizontal
# split_axis: horizontal, vertical, auto

Crear splits:

# Split horizontal
map f5 launch --location=hsplit

# Split vertical
map f6 launch --location=vsplit

# Split auto (horizontal si ancho, vertical si alto)
map f4 launch --location=split

# Rotar split (horizontal <-> vertical)
map f7 layout_action rotate

# Mover window
map shift+up move_window up
map shift+down move_window down
map shift+left move_window left
map shift+right move_window right

# Mover window al borde
map ctrl+shift+up layout_action move_to_screen_edge top
map ctrl+shift+down layout_action move_to_screen_edge bottom
map ctrl+shift+left layout_action move_to_screen_edge left
map ctrl+shift+right layout_action move_to_screen_edge right

# Bias del split
map ctrl+. layout_action bias 80

Horizontal y Vertical Layouts

Horizontal (lado a lado):

┌────────┬────────┬────────┐
│        │        │        │
│        │        │        │
│        │        │        │
│        │        │        │
└────────┴────────┴────────┘

Vertical (uno debajo del otro):

┌────────────────────────────┐
│                            │
├────────────────────────────┤
│                            │
├────────────────────────────┤
│                            │
└────────────────────────────┘

Configuración:

enabled_layouts horizontal,vertical

Cambiar Entre Layouts

# Siguiente layout
map ctrl+shift+l next_layout

# Ir a layout específico
map ctrl+alt+t goto_layout tall
map ctrl+alt+s goto_layout stack

# Toggle layout
map ctrl+alt+z toggle_layout stack

Redimensionar Windows

Modo interactivo:

Ctrl+Shift+R
# Seguir instrucciones en pantalla

Atajos directos:

map ctrl+left resize_window narrower
map ctrl+right resize_window wider
map ctrl+up resize_window taller
map ctrl+down resize_window shorter 3
map ctrl+home resize_window reset

Fuentes

Configuración Básica

font_family      JetBrains Mono
bold_font        auto
italic_font      auto
bold_italic_font auto
font_size        12.0

Fuentes Recomendadas

Con ligaduras:

  • JetBrains Mono
  • Fira Code
  • Cascadia Code
  • Victor Mono
  • Iosevka

Mono clásicas:

  • IBM Plex Mono
  • Source Code Pro
  • Ubuntu Mono
  • Inconsolata

Fuentes con Powerline

# Método 1: Usar font con powerline incluido
font_family JetBrains Mono Nerd Font

# Método 2: Symbol map
font_family JetBrains Mono
symbol_map U+E0A0-U+E0A3,U+E0C0-U+E0C7 PowerlineSymbols

Symbol Maps

Mapear rangos Unicode a fuentes específicas:

# Powerline
symbol_map U+E0A0-U+E0A3,U+E0C0-U+E0C7 PowerlineSymbols

# Emojis
symbol_map U+1F300-U+1F64F,U+1F680-U+1F6FF Noto Color Emoji

# Math
symbol_map U+2200-U+22FF STIX Two Math

Ligaduras

# Siempre habilitadas
disable_ligatures never

# Deshabilitadas cuando cursor está sobre ellas
disable_ligatures cursor

# Siempre deshabilitadas
disable_ligatures always

Controlar por window:

map alt+1 disable_ligatures_in active always
map alt+2 disable_ligatures_in all never
map alt+3 disable_ligatures_in tab cursor

Font Features

# Habilitar features específicas
# Ejemplo con Fira Code:
font_features FiraCode-Regular +zero +onum +ss01 +ss02

# Deshabilitar ligatures pero mantener calt
font_features FiraCode-Regular -liga +calt

Modificar Fuentes

# Ajustar underline
modify_font underline_position -2
modify_font underline_thickness 150%

# Ajustar strikethrough
modify_font strikethrough_position 2px

# Ajustar tamaño de celda
modify_font cell_width 80%
modify_font cell_height -2px

# Ajustar baseline
modify_font baseline 3

Kitten para Elegir Fuentes

# UI interactiva para elegir fuentes
kitten choose-fonts

# Previsualizar todas las fuentes
kitten choose-fonts --preview

Colores y Temas

Estructura de Colores

# Colores básicos
foreground #foreground_color
background #background_color

# Selección
selection_foreground #color
selection_background #color

# Cursor
cursor #color
cursor_text_color #color

# Tabla de colores (16 básicos)
# Negro
color0  #color
color8  #color

# Rojo
color1  #color
color9  #color

# Verde
color2  #color
color10 #color

# Amarillo
color3  #color
color11 #color

# Azul
color4  #color
color12 #color

# Magenta
color5  #color
color13 #color

# Cyan
color6  #color
color14 #color

# Blanco
color7  #color
color15 #color

# Colores extendidos (256 colores)
color16 #color
color17 #color
# ... hasta color255

Temas Populares

Dracula:

foreground #f8f8f2
background #282a36
selection_foreground #ffffff
selection_background #44475a

color0  #21222c
color8  #6272a4
color1  #ff5555
color9  #ff6e6e
color2  #50fa7b
color10 #69ff94
color3  #f1fa8c
color11 #ffffa5
color4  #bd93f9
color12 #d6acff
color5  #ff79c6
color13 #ff92df
color6  #8be9fd
color14 #a4ffff
color7  #f8f8f2
color15 #ffffff

Nord:

foreground #d8dee9
background #2e3440

color0  #3b4252
color8  #4c566a
color1  #bf616a
color9  #bf616a
color2  #a3be8c
color10 #a3be8c
color3  #ebcb8b
color11 #ebcb8b
color4  #81a1c1
color12 #81a1c1
color5  #b48ead
color13 #b48ead
color6  #88c0d0
color14 #8fbcbb
color7  #e5e9f0
color15 #eceff4

Gruvbox Dark:

foreground #ebdbb2
background #282828

color0  #282828
color8  #928374
color1  #cc241d
color9  #fb4934
color2  #98971a
color10 #b8bb26
color3  #d79921
color11 #fabd2f
color4  #458588
color12 #83a598
color5  #b16286
color13 #d3869b
color6  #689d6a
color14 #8ec07c
color7  #a89984
color15 #ebdbb2

Kitten Themes

# Browser de temas interactivo
kitten themes

# Listar temas disponibles
kitten themes --list

# Aplicar tema específico
kitten themes --reload-in=all Dracula

Opacidad y Blur

# Opacidad del background
background_opacity 0.9

# Background blur (macOS y KDE)
background_blur 20

# Dynamic opacity (permite cambiar con atajos)
dynamic_background_opacity yes

# Cambiar opacidad con atajos
map ctrl+shift+a>m set_background_opacity +0.1
map ctrl+shift+a>l set_background_opacity -0.1
map ctrl+shift+a>1 set_background_opacity 1
map ctrl+shift+a>d set_background_opacity default

Background Image

background_image /path/to/image.png
background_image_layout tiled
# Opciones: tiled, mirror-tiled, scaled, clamped, centered, cscaled
background_image_linear no
background_tint 0.5

Dim Text

# Atenuar texto con atributo DIM
dim_opacity 0.4

Cursor y Scrollback

Cursor

Forma:

cursor_shape block
# Opciones: block, beam, underline

Forma cuando no enfocado:

cursor_shape_unfocused hollow
# Opciones: block, beam, underline, hollow, unchanged

Grosor:

cursor_beam_thickness 1.5
cursor_underline_thickness 2.0

Blink:

# Intervalo de blink (segundos)
cursor_blink_interval -1
# -1 = usar default del sistema
# 0 = deshabilitado
# >0 = intervalo personalizado

# Parar blink después de inactividad
cursor_stop_blinking_after 15.0

# Animación de blink
cursor_blink_interval 0.5 ease-in-out

Color:

cursor #cccccc
cursor_text_color #111111
# O usar: cursor_text_color background

Cursor Trail:

# Animación de "estela" del cursor
cursor_trail 5
cursor_trail_decay 0.1 0.4
cursor_trail_start_threshold 2
cursor_trail_color #ff0000

Scrollback

Líneas de historial:

scrollback_lines 10000
# -1 = infinito (no recomendado)

Pager:

scrollback_pager less --chop-long-lines --RAW-CONTROL-CHARS +INPUT_LINE_NUMBER

# Con neovim
scrollback_pager nvim --cmd 'set eventignore=FileType' +'nnoremap q ZQ' +'call nvim_open_term(0, {})' +'set nomodified nolist' +'$' -

Scrollback Pager History:

# Scrollback separado para pager (MB)
scrollback_pager_history_size 10

Fill Window:

# Llenar con scrollback al agrandar window
scrollback_fill_enlarged_window no

Scroll Multiplier:

# Mouse wheel
wheel_scroll_multiplier 5.0
wheel_scroll_min_lines 1

# Touch
touch_scroll_multiplier 1.0

Scrollbar

# Cuándo mostrar scrollbar
scrollbar scrolled
# Opciones: scrolled, hovered, scrolled-and-hovered, always, never

# Interactivo
scrollbar_interactive yes

# Jump on click
scrollbar_jump_on_click yes

# Ancho
scrollbar_width 0.5
scrollbar_hover_width 1

# Opacidad
scrollbar_handle_opacity 0.5
scrollbar_track_opacity 0

# Colores
scrollbar_handle_color foreground
scrollbar_track_color foreground

Mouse

Comportamiento Básico

# Ocultar cursor después de inactividad
mouse_hide_wait 3.0
# 0 = nunca
# <0 = ocultar inmediatamente al escribir

# Focus follows mouse
focus_follows_mouse no

URLs

# Color y estilo de URLs
url_color #0087bd
url_style curly
# Opciones: none, straight, double, curly, dotted, dashed

# Programa para abrir URLs
open_url_with default

# Prefijos detectados
url_prefixes file ftp ftps gemini git gopher http https irc ircs kitty mailto news sftp ssh

# Detectar URLs
detect_urls yes

# Mostrar target de hyperlinks
show_hyperlink_targets no

# Underline de hyperlinks
underline_hyperlinks hover
# Opciones: hover, always, never

Selección

# Copiar al seleccionar
copy_on_select no
# Opciones: no, clipboard, a1 (buffer personalizado)

# Limpiar selección al perder clipboard
clear_selection_on_clipboard_loss no

# Caracteres de palabra
select_by_word_characters @-./_~?&=%+#

# Intervalo de clicks
click_interval -1.0
# -1 = usar default del sistema

Pointer Shape

# Forma del cursor cuando programa agarra mouse
pointer_shape_when_grabbed arrow

# Forma default
default_pointer_shape beam

# Forma al arrastrar
pointer_shape_when_dragging beam crosshair

Mouse Actions

Sintaxis:

mouse_map button-name event-type modes action

Ejemplos:

# Click en URL
mouse_map left click ungrabbed mouse_handle_click selection link prompt

# Pegar con middle click
mouse_map middle release ungrabbed paste_from_selection

# Seleccionar con left press
mouse_map left press ungrabbed mouse_selection normal

# Selección rectangular con Ctrl+Alt
mouse_map ctrl+alt+left press ungrabbed mouse_selection rectangle

# Seleccionar palabra con double click
mouse_map left doublepress ungrabbed mouse_selection word

# Seleccionar línea con triple click
mouse_map left triplepress ungrabbed mouse_selection line

# Extender selección con right press
mouse_map right press ungrabbed mouse_selection extend

Clearar todos los mouse actions:

clear_all_mouse_actions yes

Kittens (Extensiones)

¿Qué son los Kittens?

Programas auxiliares que extienden funcionalidad de kitty.

Kittens Built-in

1. icat - Imágenes en Terminal

# Mostrar imagen
kitten icat imagen.png

# Con opciones
kitten icat --align left imagen.png
kitten icat --place 40x40@10x10 imagen.png

En kitty.conf:

map f1 launch --stdin-source=@screen_scrollback kitten icat

2. diff - Diff con Imágenes

# Diff de archivos
kitten diff archivo1.txt archivo2.txt

# Con imágenes
kitten diff imagen1.png imagen2.png

# Diff de directorios
kitten diff dir1/ dir2/

Configurar como git difftool:

git config --global diff.tool kitty
git config --global difftool.kitty.cmd 'kitten diff $LOCAL $REMOTE'

3. unicode_input - Input Unicode

# Abrir selector Unicode
Ctrl+Shift+U

# O
kitten unicode_input

4. themes - Cambiar Temas

# Browser de temas
kitten themes

# Listar temas
kitten themes --list

# Cambiar tema
kitten themes --reload-in=all Dracula

5. choose-fonts - Elegir Fuentes

# UI para elegir fuentes
kitten choose-fonts

# Con preview
kitten choose-fonts --preview

6. hints - Selección Rápida

# Abrir URLs
Ctrl+Shift+E

# O personalizado:
# URLs
kitten hints

# Paths
kitten hints --type path

# Líneas
kitten hints --type line

# Palabras
kitten hints --type word

# Hashes (git)
kitten hints --type hash

# Números de línea
kitten hints --type linenum

# Hyperlinks
kitten hints --type hyperlink

Configuración:

# Abrir URL
map ctrl+shift+e open_url_with_hints

# Insertar path
map ctrl+shift+p>f kitten hints --type path --program -

# Abrir path
map ctrl+shift+p>shift+f kitten hints --type path

# Insertar archivo (con chooser)
map ctrl+shift+p>c kitten choose-files

# Insertar directorio
map ctrl+shift+p>d kitten choose-files --mode=dir

# Insertar línea
map ctrl+shift+p>l kitten hints --type line --program -

# Insertar palabra
map ctrl+shift+p>w kitten hints --type word --program -

# Insertar hash
map ctrl+shift+p>h kitten hints --type hash --program -

# Abrir en editor
map ctrl+shift+p>n kitten hints --type linenum

# Abrir hyperlink
map ctrl+shift+p>y kitten hints --type hyperlink

7. ssh - SSH Mejorado

# SSH con shell integration
kitten ssh usuario@servidor

# Con forwarding
kitten ssh -R 52698:localhost:52698 servidor

Ventajas: - Shell integration automática - Re-uso de conexiones - Clonación de config local - Transferencia de terminfo

8. transfer - Transferencia de Archivos

# Upload archivo
kitten transfer archivo.txt servidor:/ruta/

# Download archivo
kitten transfer servidor:/ruta/archivo.txt ./

# Directorio completo
kitten transfer --recursive directorio/ servidor:/ruta/

9. clipboard - Clipboard en SSH

# Copiar a clipboard
echo "texto" | kitten clipboard

# Pegar desde clipboard
kitten clipboard --get-clipboard

10. broadcast - Broadcast Input

# Escribir en múltiples windows
kitten broadcast

# A windows específicas
kitten broadcast --match-tab "title:server*"

11. notify - Notificaciones

# Enviar notificación
kitten notify "Título" "Mensaje"

# Con icono
kitten notify --icon /path/icon.png "Título" "Mensaje"

12. panel - Panel Desktop

# Crear panel
kitten panel sh -c 'while true; do date; sleep 1; done'

13. @ (Remote Control)

# Ver todos los comandos
kitten @ --help

# Listar windows
kitten @ ls

# Cambiar colores
kitten @ set-colors foreground=#ffffff

# Ejecutar comando en window
kitten @ send-text --match "title:vim" ":wq\n"

Crear Kittens Personalizados

Estructura básica:

#!/usr/bin/env python3
# mi_kitten.py

from kittens.tui.handler import Handler
from kitty.key_encoding import KeyEvent

class MyHandler(Handler):
    def initialize(self):
        self.print("¡Hola desde mi kitten!")
    
    def on_key(self, key_event: KeyEvent):
        if key_event.key == 'q':
            self.quit_loop(0)
        return True

def main(args):
    handler = MyHandler()
    handler.run()

if __name__ == '__main__':
    import sys
    main(sys.argv[1:])

Usar:

kitten @ run-kitten /path/to/mi_kitten.py

Control Remoto

Habilitar Remote Control

# En kitty.conf
allow_remote_control yes

# Socket Unix
listen_on unix:/tmp/kitty

# O TCP
listen_on tcp:localhost:12345

Uso Básico

# Listar windows
kitty @ ls

# Crear nueva window
kitty @ launch

# Cerrar window
kitty @ close-window

# Cambiar título
kitty @ set-window-title "Nuevo Título"

# Enviar texto
kitty @ send-text "echo hello\n"

Comandos Principales

Información:

kitty @ ls                    # Listar todo
kitty @ get-colors            # Ver colores actuales
kitty @ get-text              # Obtener texto de window

Crear/Cerrar:

kitty @ launch                # Nueva window
kitty @ launch --type=tab     # Nueva tab
kitty @ launch --type=os-window  # Nueva OS window
kitty @ close-window
kitty @ close-tab

Modificar:

kitty @ set-colors foreground=#ff0000
kitty @ set-window-title "Título"
kitty @ set-tab-title "Tab"
kitty @ resize-window --increment 10
kitty @ goto-layout tall

Enviar Input:

kitty @ send-text "texto"
kitty @ send-text --match "title:vim" ":wq\n"

Focus:

kitty @ focus-window --match "title:editor"
kitty @ focus-tab --match "index:2"

Matching

Usar --match para seleccionar windows/tabs:

# Por título
--match "title:editor"

# Por ID
--match "id:42"

# Por estado
--match "state:focused"

# Múltiples condiciones
--match "title:vim and state:focused"

Remote Control desde Mapeos

# Crear window con comando específico
map f1 remote_control launch --type=tab vim

# Cambiar colores
map f2 remote_control set-colors --configured ~/colors.conf

# Broadcast
map f3 remote_control send-text --all "clear\n"

Remote Control via SSH

# Desde máquina remota
export KITTY_REMOTE_CONTROL_PASSWORD="mi_password"
kitty @ --password=$KITTY_REMOTE_CONTROL_PASSWORD ls

Con kitten ssh:

# Automáticamente habilita remote control
kitten ssh servidor

# Desde el servidor
kitty @ ls  # ¡Funciona!

Sesiones

¿Qué son las Sesiones?

Archivos que definen:

  • Layout de tabs y windows
  • Directorio de trabajo
  • Comandos a ejecutar
  • Configuración específica

Crear Sesión

Archivo de sesión:

# mi_sesion.kitty

# Nueva ventana
new_window
cd ~/proyectos/app
launch vim

# Nueva ventana
new_window
cd ~/proyectos/app
launch

# Nueva tab
new_tab editor
cd ~/proyectos/app
layout tall
launch vim src/main.py
launch

# Nueva tab con split
new_tab servers
launch ssh server1
launch --location=hsplit ssh server2

Usar Sesión

Al iniciar kitty:

kitty --session mi_sesion.kitty

Desde configuración:

startup_session mi_sesion.kitty

Desde atajo:

map f1 launch --type=os-window --session=mi_sesion.kitty

Comandos de Sesión

new_tab:

new_tab [nombre]
cd /directorio
layout tall
launch comando

new_window:

new_window
cd /directorio
launch comando

launch:

launch [--location=split] comando

cd:

cd /ruta/absoluta
cd ~/relativa

layout:

layout tall
layout stack
layout splits

focus:

focus

enabled_layouts:

enabled_layouts tall,stack,grid

Ejemplo Completo

# Sesión de desarrollo web
# ~/proyectos/web_dev.kitty

# Tab principal - Editor
new_tab Editor
cd ~/proyectos/webapp
layout tall:bias=70;full_size=1
launch nvim .

# Tab de servidores
new_tab Servers
cd ~/proyectos/webapp
layout splits
launch npm run dev
launch --location=hsplit npm run tailwind

# Tab de terminal
new_tab Terminal
cd ~/proyectos/webapp
launch

# Tab de git
new_tab Git
cd ~/proyectos/webapp
launch lazygit

# Focus en primera tab
focus_tab 1

Guardar Sesión Actual

Kitty no tiene comando built-in para guardar, pero puedes usar remote control:

# Script para guardar sesión
kitty @ ls | python3 crear_sesion.py > sesion_actual.kitty

Switching Sessions

Con goto_session:

# Crear/cambiar a sesión
map f1 goto_session dev
map f2 goto_session personal

Cerrar sesión:

# Cerrar todas las windows de una sesión
map f3 close_session dev

Integración con Shell

Shell Integration

Kitty puede integrarse con bash, zsh y fish para:

  • Saltar a prompts anteriores
  • Ver output de comandos
  • Tracking de directorios
  • Indicadores visuales

Habilitar

shell_integration enabled

Deshabilitar características específicas:

# Deshabilitar cursor shape en prompt
shell_integration no-cursor

# Deshabilitar título automático
shell_integration no-title

# Deshabilitar tracking de cwd
shell_integration no-cwd

# Deshabilitar prompt marks
shell_integration no-prompt-mark

# Deshabilitar completion
shell_integration no-complete

# Deshabilitar sudo
shell_integration no-sudo

Configuración Manual

Si la integración automática no funciona:

Bash (~/.bashrc):

if [[ -n "$KITTY_INSTALLATION_DIR" ]]; then
    export KITTY_SHELL_INTEGRATION="enabled"
    source "$KITTY_INSTALLATION_DIR/shell-integration/bash/kitty.bash"
fi

Zsh (~/.zshrc):

if [[ -n "$KITTY_INSTALLATION_DIR" ]]; then
    export KITTY_SHELL_INTEGRATION="enabled"
    source "$KITTY_INSTALLATION_DIR/shell-integration/zsh/kitty.zsh"
fi

Fish (~/.config/fish/config.fish):

if set -q KITTY_INSTALLATION_DIR
    set --global KITTY_SHELL_INTEGRATION enabled
    source "$KITTY_INSTALLATION_DIR/shell-integration/fish/vendor_conf.d/kitty-shell-integration.fish"
    set --prepend fish_complete_path "$KITTY_INSTALLATION_DIR/shell-integration/fish/vendor_completions.d"
end

Características con Shell Integration

Saltar a prompts:

Ctrl+Shift+Z  # Prompt anterior
Ctrl+Shift+X  # Prompt siguiente

Ver output de comandos:

Ctrl+Shift+G  # Ver último comando en pager

Mouse:

  • Click en prompt para mover cursor
  • Right-click en comando para ver output
  • Click en error para copiar

Indicadores visuales:

  • Marca en prompt
  • Color diferente para comandos exitosos/fallidos

Marcas (Marks)

¿Qué son las Marcas?

Sistema para resaltar texto basado en regex.

Tipos de Marcas

Hay 3 tipos (cada uno con color diferente):

  • mark1 (light steel blue)
  • mark2 (beige)
  • mark3 (violet)

Configurar Colores

# Mark tipo 1
mark1_foreground black
mark1_background #98d3cb

# Mark tipo 2
mark2_foreground black
mark2_background #f2dcd3

# Mark tipo 3
mark3_foreground black
mark3_background #f274bc

Crear Marcas

Con regex:

# Marcar URLs
map f1 create_marker text 1 https?://[^\s]+

# Marcar errores
map f2 create_marker text 1 ERROR|FATAL

# Marcar TODO
map f3 create_marker text 2 TODO|FIXME|XXX

Desde línea de comando:

# Marcar palabra
kitty @ create-marker text 1 "error"

# Marcar líneas que contengan
kitty @ create-marker iregex 1 "^error.*"

Usar Marcas

Toggle:

map f1 toggle_marker text 1 error

Saltar:

# Siguiente marca
map f2 scroll_to_mark next 1

# Anterior marca
map f3 scroll_to_mark prev 1

# Cualquier tipo
map f4 scroll_to_mark next 0

Eliminar:

map f5 remove_marker

Ejemplo Completo

# Marcar diferentes niveles de log
map ctrl+shift+1 create_marker iregex 1 "^.*ERROR.*$"
map ctrl+shift+2 create_marker iregex 2 "^.*WARNING.*$"
map ctrl+shift+3 create_marker iregex 3 "^.*INFO.*$"

# Navegar entre marcas
map ctrl+shift+n scroll_to_mark next
map ctrl+shift+p scroll_to_mark prev

# Toggle marcas
map ctrl+shift+m toggle_marker iregex 1 "^.*ERROR.*$"

# Limpiar todas las marcas
map ctrl+shift+c remove_marker

Características Avanzadas

Multiple Copy/Paste Buffers

# Definir buffer 'a'
map f1 copy_to_buffer a
map f2 paste_from_buffer a

# Definir buffer 'b'
map f3 copy_to_buffer b
map f4 paste_from_buffer b

Keyboard Modes

Modos de teclado para mapeos contextuales:

# Crear modo
map f1 push_keyboard_mode resize

# En modo resize
map --mode resize h resize_window narrower
map --mode resize l resize_window wider
map --mode resize k resize_window taller
map --mode resize j resize_window shorter
map --mode resize esc pop_keyboard_mode

Per-Application Mappings

# Solo para vim
map --when-focus-on vim ctrl+j send_text \x0a

# Solo para less
map --when-focus-on less j send_text j

Environment Variables

# Establecer variables
env VAR=value
env PATH=/custom/path:${PATH}

# Leer de shell
env read_from_shell=PATH LANG LC_* XDG_*

Watchers

Scripts Python que reaccionan a eventos:

~/.config/kitty/watchers.py:

from kitty.boss import Boss

def on_focus_change(boss: Boss, window, data):
    if data['focused']:
        # Window ganó focus
        pass
    else:
        # Window perdió focus
        pass

def on_close(boss: Boss, window, data):
    # Window está cerrándose
    pass

def on_resize(boss: Boss, window, data):
    # Window fue redimensionada
    pass

def on_title_change(boss: Boss, window, data):
    new_title = data['title']
    # Hacer algo con nuevo título
    pass

Habilitar:

watcher ~/.config/kitty/watchers.py

Filtros de Notificación

# Filtrar notificaciones por campo
filter_notification title:hello or body:"abc.*def"
filter_notification app:"[ng]?vim" and not body:"(?i)update"

# Filtrar todas
filter_notification all

Allow Cloning

# Permitir clone-in-kitty
allow_cloning ask
# Opciones: yes, no, ask

Notificaciones de Comando

# Notificar cuando comando termina
notify_on_cmd_finish unfocused 10.0

# Con bell
notify_on_cmd_finish invisible 10.0 bell

# Con comando personalizado
notify_on_cmd_finish invisible 10.0 command notify-send "Done" "%c"

Optimización de Rendimiento

Repaint Delay

# Delay entre actualizaciones (ms)
repaint_delay 10
# Menor = más FPS pero más CPU

Input Delay

# Delay antes de procesar input (ms)
input_delay 3
# Menor = más responsive pero más CPU

Sync to Monitor

# Sincronizar con refresh rate
sync_to_monitor yes
# no = más FPS pero posible tearing

Scrollback

# No mantener scrollback enorme
scrollback_lines 10000

# Usar scrollback_pager_history_size
scrollback_pager_history_size 10

Text Composition

# Estrategia de composición
text_composition_strategy platform
# platform, legacy, o números para ajuste fino

OpenGL

# Verificar que usa GPU
glxinfo | grep "OpenGL renderer"

# Actualizar drivers GPU
sudo apt update && sudo apt upgrade

Trucos y Tips

Cambiar Directorio del Shell al Salir

Bash/Zsh:

# Añadir a ~/.bashrc o ~/.zshrc
alias icat="kitten icat"

Previsualizar Imágenes

# En ranger
set preview_images true
set preview_images_method kitty

Integración con Neovim

-- En init.lua
vim.opt.termguicolors = true

-- Copiar a clipboard de kitty
vim.keymap.set('v', '<C-c>', '"+y')

SSH con Túneles

# Túnel reverso para remote control
ssh -R 52698:localhost:52698 servidor

# O con kitten ssh (automático)
kitten ssh servidor

Diff de Directorios

kitten diff dir1/ dir2/

Broadcast Input

# Escribir en múltiples servers
kitten broadcast --match-tab "title:server*"

Quick Terminal (Quake-style)

# Crear script kitty-quake.sh
#!/bin/bash
kitty --class=kitty-quake --name quake \
  -o initial_window_width=100c \
  -o initial_window_height=30c \
  -o remember_window_size=no

Configurar en i3/sway:

for_window [class="kitty-quake"] floating enable, move position center
bindsym $mod+grave exec ~/.local/bin/kitty-quake.sh

8. URLs Personalizadas

# Abrir issues de GitHub
map ctrl+shift+o kitten hints --type=url --regex "\\b[A-Z]+-\\d+" --program @

Layouts Personalizados

Crear ~/.config/kitty/layouts/my_layout.py:

from kitty.layout import Layout

class MyLayout(Layout):
    name = "my_layout"
    
    def do_layout(self, windows, active_window_idx):
        # Tu código de layout
        pass

Themevar para Colores Dinámicos

# Variables de color
env KITTY_FG=#ffffff
env KITTY_BG=#000000

# Usar en config
foreground ${KITTY_FG}
background ${KITTY_BG}

Solución de Problemas

Problemas Comunes

Ligaduras No Funcionan

Verificar:

# Ver features de fuente
fc-list : family fontformat | grep -i "fira code"

# Verificar soporte
kitty +list-fonts --psnames | grep -i "fira"

Solución:

# Habilitar explícitamente
disable_ligatures never

# O instalar fuente con ligaduras
sudo apt install fonts-firacode

Colores Incorrectos

Verificar:

# Verificar TERM
echo $TERM  # Debe ser xterm-kitty

# Test de colores
kitty +kitten themes

Solución:

# Forzar TERM
term xterm-kitty

# O reinstalar terminfo
kitty +kitten terminfo

Imágenes No se Muestran

Verificar:

# Test básico
kitten icat /path/to/image.png

Solución:

# Verificar OpenGL
glxinfo | grep "OpenGL"

# Actualizar drivers
sudo apt update && sudo apt upgrade

Performance Lento

Diagnóstico:

# Ver stats de rendimiento
kitty --debug-rendering

# Ver FPS
kitty --debug-gl

Solución:

# Ajustar delays
repaint_delay 10
input_delay 3

# Reducir scrollback
scrollback_lines 5000

# Deshabilitar features pesadas
cursor_blink_interval 0

Remote Control No Funciona

Verificar:

# Ver si está escuchando
netstat -an | grep kitty

# O
lsof -i :12345

Solución:

# Habilitar
allow_remote_control yes
listen_on unix:/tmp/kitty

# Verificar permisos
chmod 600 /tmp/kitty

Fuentes Borrosas

Solución:

# Ajustar composition
text_composition_strategy 1.0 0

# O en macOS
text_composition_strategy 1.7 30

Clipboard No Funciona

Verificar:

# Ver proveedores de clipboard
xclip -selection clipboard -o

Solución:

# Instalar xclip
sudo apt install xclip

# O wl-clipboard para Wayland
sudo apt install wl-clipboard

Debugging

Modo verbose:

kitty --debug-config
kitty --debug-rendering
kitty --debug-gl

Ver logs:

# Linux
~/.local/state/kitty/log

# macOS
~/Library/Logs/kitty

Referencia Completa

Archivos de Configuración

~/.config/kitty/
├── kitty.conf              # Configuración principal
├── current-theme.conf      # Tema actual (generado)
├── diff.conf               # Config para kitty diff
├── sessions/               # Archivos de sesión
│   ├── dev.kitty
│   └── personal.kitty
├── layouts/                # Layouts personalizados
│   └── my_layout.py
└── watchers.py            # Watchers de eventos

Variables de Entorno

KITTY_CONFIG_DIRECTORY    # Dir de config
KITTY_INSTALLATION_DIR    # Dir de instalación
KITTY_PID                 # PID de kitty
KITTY_WINDOW_ID          # ID de window actual
KITTY_LISTEN_ON          # Socket de remote control

Códigos de Escape Útiles

# Cambiar título de window
echo -e "\033]2;Nuevo Título\007"

# Cambiar color
echo -e "\033]11;#ff0000\007"

# Mostrar imagen
echo -e "\033]1337;File=inline=1:$(base64 imagen.png)\007"

API de Remote Control

Endpoints principales:

  • ls - Listar windows/tabs
  • launch - Crear window/tab
  • close-window - Cerrar window
  • close-tab - Cerrar tab
  • focus-window - Enfocar window
  • focus-tab - Enfocar tab
  • get-colors - Obtener colores
  • set-colors - Cambiar colores
  • get-text - Obtener texto
  • send-text - Enviar texto
  • resize-window - Redimensionar
  • set-window-title - Cambiar título
  • goto-layout - Cambiar layout

Comparison Chart

Característica Kitty Alacritty iTerm2 Wezterm
GPU Rendering
Tabs
Splits
Imágenes
Ligaduras
Remote Control
Extensiones ✅ (kittens) ✅ (lua)
Cross-platform
Config Language conf toml GUI lua
Shell Integration

Conclusión

Roadmap de Aprendizaje

Semana 1 - Básicos:

  • Instalar y configurar
  • Aprender atajos principales
  • Configurar fuentes y colores

Semana 2 - Intermedio:

  • Dominar tabs y windows
  • Experimentar con layouts
  • Configurar shell integration

Mes 1 - Avanzado:

  • Usar kittens
  • Remote control básico
  • Crear sesiones

Mes 2+ - Experto:

  • Crear kittens propios
  • Watchers
  • Automatización completa

Recursos

Documentación Oficial:

  • https://sw.kovidgoyal.net/kitty/
  • https://sw.kovidgoyal.net/kitty/conf/

Comunidad:

  • GitHub: https://github.com/kovidgoyal/kitty
  • Discussions: https://github.com/kovidgoyal/kitty/discussions
  • Reddit: r/KittyTerminal

Temas:

  • https://github.com/dexpota/kitty-themes
  • https://github.com/kdrag0n/base16-kitty

Configs de Ejemplo:

  • https://github.com/search?q=kitty.conf

Tips Finales

  1. Empieza simple: No copies configs complejas al inicio
  2. Experimenta: Prueba diferentes layouts y kittens
  3. Lee la docs: La documentación de kitty es excelente
  4. Usa kitten themes: Para encontrar tu tema perfecto
  5. Aprovecha shell integration: Hace la diferencia
  6. Explora kittens: Son muy potentes
  7. Practica atajos: La eficiencia viene de no usar el mouse
  8. Contribuye: Reporta bugs, sugestiones, o crea kittens

Publicaciones Similares

Si te interesó este artículo, te recomendamos que explores otros blogs y recursos relacionados que pueden ampliar tus conocimientos. Aquí te dejo algunas sugerencias:

  1. Comandos De Informacion Windows
  2. Adb
  3. Limpieza Y Optimizacion De Pc
  4. Usando Apk En Windown 11
  5. Gestionar Versiones De Jdk En Kubuntu
  6. Instalar Tor Browser
  7. Crear Enlaces Duros O Hard Link En Linux
  8. Comandos Vim
  9. Guia De Git Y Github
  10. 00 Primeros Pasos En Linux
  11. 01 Introduccion Linux
  12. 02 Distribuciones Linux
  13. 03 Instalacion Linux
  14. 04 Administracion Particiones Volumenes
  15. Atajos De Teclado Y Comandos Para Usar Vim
  16. Instalando Specitify
  17. Gestiona Tus Dotfiles Con Gnu Stow

Esperamos que encuentres estas publicaciones igualmente interesantes y útiles. ¡Disfruta de la lectura!

Reutilización

Cómo citar

Por favor, cita este trabajo como:
Achalma, Edison. 2025. “Guía Completa de Kitty Terminal,” December. https://chaska-x.netlify.app/operating-system/2025-12-31-guia-de-kitty-terminal/.