tmux Configuração
Pi funciona dentro de tmux, mas tmux remove informações do modificador de certas teclas por padrão. Sem configuração, Shift+Enter e Ctrl+Enter são geralmente indistinguíveis do Enter simples.
Configuração recomendada
Adicione a ~/.tmux.conf:
set -g extended-keys on
set -g extended-keys-format csi-uEntão reinicie tmux completamente:
tmux kill-server
tmuxPi solicita relatórios de teclas estendidas automaticamente quando o protocolo de teclado Kitty não está disponível. Com extended-keys-format csi-u, tmux encaminha chaves modificadas no formato CSI-u, que é a configuração mais confiável. A opção extended-keys-format requer tmux 3.5 ou posterior.
Por que csi-u é recomendado
Com apenas:
set -g extended-keys ontmux o padrão é extended-keys-format xterm. Quando um aplicativo solicita relatórios de chave estendidos, as chaves modificadas são encaminhadas no formato xterm modifyOtherKeys, como:
Ctrl+C→\x1b[27;5;99~Ctrl+D→\x1b[27;5;100~Ctrl+Enter→\x1b[27;5;13~
Com extended-keys-format csi-u, as mesmas chaves são encaminhadas como:
Ctrl+C→\x1b[99;5uCtrl+D→\x1b[100;5uCtrl+Enter→\x1b[13;5u
Pi suporta ambos os formatos, mas csi-u é a configuração tmux recomendada.
O que isso corrige
Sem as chaves estendidas tmux, as teclas Enter modificadas são reduzidas às sequências herdadas:
| Chave | Sem extkeys | Com csi-u |
|---|---|---|
| Digitar | \r |
\r |
| Shift + Enter | \r |
\x1b[13;2u |
| Ctrl+Enter | \r |
\x1b[13;5u |
| Alt/Opção+Enter | \x1b\r |
\x1b[13;3u |
Isso afeta os atalhos de teclado padrão (Enter para enviar, Shift+Enter para nova linha) e quaisquer atalhos de teclado personalizados usando Enter modificado.
Requisitos
- tmux 3.5 ou posterior para
extended-keys-format csi-u(executetmux -Vpara verificar) - Um emulador de terminal que suporta chaves estendidas (Ghostty, Kitty, iTerm2, WezTerm, Windows Terminal)
Com tmux 3.2 a 3.4, omita extended-keys-format csi-u; Pi ainda suporta o formato xterm modifyOtherKeys padrão de tmux.