No se puede habilitar la compatibilidad con TrueColor en tmux mediante la anulación de terminfo

No se puede habilitar la compatibilidad con TrueColor en tmux mediante la anulación de terminfo

dist: ArchLinux.

Tengo una compilación st de AUR y tmux del repositorio oficial. En st encontré un buen soporte TrueColor que funciona con la última versión de Vim a través de la opción termguicolors. Pero cuando intenté llevar esto a tmux me encontré con algunos problemas.

Al principio la salida de

tmux info | grep Tc

desde el interior de tmux era

197: Tc: [missing]

después de leer la página de manual de tmux, descubrí que esta opción debe llevarse a tmux Tc

set-option -g terminal-overrides "st-256color:Tc"

donde desde mi emulador de terminal me devuelve:

TERM=st-256color 

Pero el resultado de la información de tmux siguió siendo el mismo. Sólo para comprobarlo, instalé xterm e intenté la misma manipulación con él, pero no me dio otro resultado. Después de todo, tmux reconoce que el terminal admite 256 colores y emula el color verdadero a través de él.

Respuesta1

Puede modificar su copia de la descripción del terminal para proporcionar esta bandera:

infocmp -x >foo
edit foo, adding "Tc," after the end of any line ending with a comma
tic -x foo

Eso funcionaría para ncurses (que es lo que tienes con cualquier distribución de Linux), ytal vezMaldiciones de NetBSD.

Respuesta2

Debe agregar -apara agregar, en lugar de anular, las capacidades existentes del terminal:

set-option -ga terminal-overrides ",*256*:Tc"

Esto funcionará para cualquier terminal que anuncie 256 colores.

Verifique también que no tenga otro set -g terminal-overridesen algún lugar más adelante en su archivo de configuración.


Para vim, probablemente también querrás:

set -g default-terminal "screen-256color"

información relacionada