Tengo el mismo problema que el autor de la pregunta enSoporte de 256 colores para fondo vim en tmux.
En mi terminal normal con zsh
, no tengo problemas con el color de fondo vim
, pero cuando lo ejecuto dentro tmux
, tengo problemas con los colores de fondo.
Aparentemente, hay un problema al usar screen
en lugar de xterm
:
Fuera de Tmux: echo $TERM
da como resultado screen
Dentro de Tmux: echo $TERM
da como resultadoxterm
En mi .zshrc y .tmux.conf he configurado
TERM=screen-256color
pero no afecta nada. (También lo intenté TERM=screen
)
¿Cómo puedo forzar tmux
el uso screen
?
EDITAR: gracias a htor, agregué set -g default-terminal "screen"
(también probé set -g default-terminal "screen-256color"
) en .tmux.conf y en .zshrc export TERM=screen-256color
.
Ahora obtengo:
Outside Tmux: echo $TERM
da como resultado screen-256color
Inside Tmux: echo $TERM
da como resultado echoscreen-256color
(<- parece un poco extraño, ¿el resultado es correcto?)
¿Qué más puedo hacer para solucionar el problema del color de fondo en vim dentro de tmux?
Respuesta1
Como se explica aquí, desactivarBorrar color de fondo(BCE) borrando la t_ut
opción del terminal (ejecute :set t_ut=
en Vim y luego presione Control+ Lpara actualizar la pantalla del terminal) para que los esquemas de color funcionen correctamente cuando Vim se use dentro de la pantalla tmux y GNU.
Respuesta2
Para configurar la variable de terminal predeterminada para tmux
cambiarla .tmux.conf
a:
set -g default-terminal "screen"
La sintaxis del shell para configurar variables no funcionará en .tmux.conf
. En su .zshrc
debe exportar el valor de TERM
para asegurarse de que todos los shells hereden este valor en su entorno:
export TERM=screen-256color