---
title: "Caps Lock como Esc: ergonomía en editores modales"
description: "Remapear Caps Lock a Esc (o intercambiarlos) reduce fricción en editores modales: receta mínima en Linux y matices en macOS y Windows."
date: 2026-11-02
locale: es
tags: [tips]
summary: "Llevo casi dos años con Esc y Caps Lock intercambiados en la fila central; lo configuro con GNOME Tweaks en Fedora y Ubuntu (Wayland). Resumo la opción XKB, cómo probarla desde terminal, y qué pasa con tmux, macOS y Windows."
url: https://escribano.dev/es/blog/022-swap-esc-caps-lock/
---
Uso Helix a diario; antes usé Neovim y, antes, vim. Siempre me molestó la posición de Esc, uno de esos detalles que tardas en notar. Llevo cerca de dos años con Esc y Caps Lock intercambiados (`caps:swapescape`), que en Linux configuro con GNOME Tweaks. Con Esc en la fila central dejé de mover la mano entera en cada salida de insert mode.

## Swap o solo remap

En XKB (Linux) suelen bastar dos opciones:

| Opción | Efecto |
|--------|--------|
| `caps:escape` | Caps envía Esc; la tecla Esc física no cambia |
| `caps:swapescape` | Caps y Esc intercambian posiciones |

Si aún usas la Esc de la esquina fuera del editor, `caps:escape` la deja ahí. Yo fui a swap: la Esc que pulso está en la fila central; arriba quedó Caps y casi no la necesito.

## Linux

### GNOME Tweaks (como lo tengo yo)

En Fedora y en Ubuntu el swap está en GNOME Tweaks → Teclado y ratón → Opciones adicionales del layout → Comportamiento de Caps Lock → Intercambiar Esc y Caps Lock. Por debajo es la opción XKB `caps:swapescape`.

El layout US lo elijo aparte en Ajustes → Teclado. Tweaks y `gsettings set org.gnome.desktop.input-sources xkb-options` escriben la misma clave; no son dos capas que se sumen. El choque aparece si además fuerzas otra cosa con `localectl` o `setxkbmap`. Ojo: un `gsettings set … xkb-options` sobrescribe la lista entera de opciones XKB (si ya tenías otras, inclúyelas en el mismo array).

Paquete: `gnome-tweaks` (Fedora y Ubuntu; `gnome-tweak-tool` quedó obsoleto).

### Probar desde terminal (temporal)

Sirve para una prueba rápida en X11 o XWayland; en Wayland nativo GNOME puede ignorarlo. Yo uso Wayland, así que esta vía no me sirve a mí.

```bash
setxkbmap -option caps:swapescape
```

Solo remap (Caps → Esc, Esc física intacta):

```bash
setxkbmap -option caps:escape
```

Para cambiar de opción, limpia antes:

```bash
setxkbmap -option ''
setxkbmap -option caps:swapescape
```

### Otras formas de persistir

Sin la GUI de Tweaks, el mismo swap en GNOME:

```bash
gsettings set org.gnome.desktop.input-sources xkb-options "['caps:swapescape']"
```

Mapa X11 y teclado del login gráfico (no la consola VT; eso es `localectl set-keymap`):

```bash
sudo localectl set-x11-keymap us pc105 "" caps:swapescape
```

Sustituye `us` por tu layout. `localectl` no lo uso yo desde que lo tengo en Tweaks.

En GNOME con Wayland la sesión de usuario usa dconf (`gsettings`), no ese mapa X11; ejecutar `localectl set-x11-keymap` puede no cambiar nada en tu sesión gráfica.

### tmux

El remap lo hace el cliente; tmux no remapea Esc. Si dentro de tmux Helix (o vim) siente Esc "lenta" (tmux espera por si Esc es el inicio de una secuencia), baja `escape-time` en `~/.tmux.conf`, por ejemplo `set -g escape-time 10`. El valor por defecto es 500 ms; comprueba el tuyo con `tmux show -g escape-time`.

## Caps como Ctrl, Esc al pulsar

Otra vía habitual: Caps como Ctrl al mantener y Esc al soltar un tap. No es `caps:escape` ni el swap: p. ej. `ctrl:nocaps` o `caps:ctrl_modifier` y una herramienta que envíe Esc al soltar.

`xcape` solo en X11; en XWayland solo afecta a apps X11, no a las nativas de GNOME Wayland. Yo estoy en Wayland; ahí toca `keyd`, interception-tools o remap en firmware (QMK/VIA). No lo uso; me basta el swap.

## macOS y Windows

**macOS:** Desde macOS Sierra (10.12.1), Ajustes del Sistema → Teclado → Atajos de teclado → Teclas modificadoras → Caps Lock → Escape (antes se usaba Karabiner u otras herramientas). Se configura por teclado: un externo se ajusta aparte del del portátil.

**Windows:** PowerToys (Keyboard Manager) o AutoHotkey en el host. Windows Terminal y los terminales WSL reciben las teclas ya remapeadas por Windows; no basta con cambiar el layout dentro de la distro Linux.

## Cierre

Si dudas, prueba una opción una semana en tu editor modal y decide después.

Y tú, ¿intercambias Esc y Caps Lock o usas otro remap de Caps Lock? ¿Qué más haces para mejorar la experiencia con tu editor modal?
