Saltearse al contenido

Configuración de tmux

Pi funciona dentro de tmux, pero tmux elimina la información de modificadores de ciertas teclas por defecto. Sin configuración, Shift+Enter y Ctrl+Enter suelen ser indistinguibles de plain Enter.

Añade a ~/.tmux.conf:

set -g extended-keys on
set -g extended-keys-format csi-u

Luego reinicia tmux por completo:

Ventana de terminal
tmux kill-server
tmux

Pi solicita informes de teclas extendidas automáticamente cuando el protocolo de teclado Kitty no está disponible. Con extended-keys-format csi-u, tmux reenvía teclas modificadas en formato CSI-u, que es la configuración más fiable. La opción extended-keys-format requiere tmux 3.5 o posterior.

Con solo:

set -g extended-keys on

tmux usa por defecto extended-keys-format xterm. Cuando una aplicación solicita informes de teclas extendidas, las teclas modificadas se reenvían en formato xterm modifyOtherKeys, por ejemplo:

  • Ctrl+C\x1b[27;5;99~
  • Ctrl+D\x1b[27;5;100~
  • Ctrl+Enter\x1b[27;5;13~

Con extended-keys-format csi-u, las mismas teclas se reenvían como:

  • Ctrl+C\x1b[99;5u
  • Ctrl+D\x1b[100;5u
  • Ctrl+Enter\x1b[13;5u

Pi admite ambos formatos, pero csi-u es la configuración de tmux recomendada.

Sin tmux extended keys, las teclas Enter modificadas se colapsan a secuencias heredadas:

TeclaSin extkeysCon csi-u
Enter\r\r
Shift+Enter\r\x1b[13;2u
Ctrl+Enter\r\x1b[13;5u
Alt/Option+Enter\x1b\r\x1b[13;3u

Esto afecta los atajos predeterminados (Enter para enviar, Shift+Enter para nueva línea) y cualquier atajo personalizado que use Enter modificado.

  • tmux 3.5 o posterior para extended-keys-format csi-u (ejecuta tmux -V para comprobar)
  • Un emulador de terminal que admita teclas extendidas (Ghostty, Kitty, iTerm2, WezTerm, Windows Terminal)

Con tmux 3.2 a 3.4, omite extended-keys-format csi-u; Pi sigue admitiendo el formato xterm modifyOtherKeys predeterminado de tmux.