Vim en tmux muestra colores incorrectos

Vim en tmux muestra colores incorrectos

Instalé Ubuntu 11.10. Luego descargué el tema Solarized para Gnome Terminal. Desde la terminal, mi vim se ve bien: el complemento vim-powerline se muestra correctamente y la sintaxis está resaltada con los colores adecuados. Pero cuando ejecuto tmux y allí ejecuto vim, el resaltado de sintaxis usa solo un color básico y vim-powerline no muestra colores. Miré las preguntas frecuentes sobre vim-powerline y la solución debería ser esta línea en .tmux-config:

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

Pero no funciona. Miré TERM y devolvió 'xterm', así que intenté:

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

Pero esto tampoco ayuda.

Esta es la única línea en .tmux.config. En .vimrc tengo las siguientes líneas:

call pathogen#infect()
set nocompatible
set encoding=utf-8
set laststatus=2
let g:Powerline_symbols = 'fancy'
set t_Co=256
syntax enable
set background=dark
colorsheme solarized

Respuesta1

Iniciar tmux con la siguiente bandera soluciona este problema:

tmux -2

desde la página de manual de tmux:

-2 Fuerza a tmux a asumir que el terminal admite 256 colores.

Respuesta2

esto funcionó para mí

en.tmux.conf

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

en.vimrc

set term=screen-256color

elimine el valor del término anterior para .vimrc, créanme, esto funcionará

Respuesta3

Tengo el mismo problema en Ubuntu 10.04 LTS usando Byobu 5.17 y tmux 1.5 usando la última versión de Solarized del repositorio de GitHub.

Pude solucionar parcialmente este problema especificando $TERMen el .bashrcarchivo:

export TERM="xterm-256color"

También parece que hay un error en la plataforma de lanzamiento, pero aún no está resuelto: byobu no muestra los colores de dirección correctamente

Respuesta4

El tipo de terminal debe configurarse en screen-256color en ~/.tmux.conf. Le dice a tmux qué configurar la variable de entorno TERM, por lo que no funcionará para la sesión actual; inicie una nueva y pruebe luego.

Si aún no funciona, puedes ejecutar Vim usando:

TERM=screen-256color vi

Esto configura la variable de entorno solo para una ejecución única de vi.

Si eso no hace que vim muestre todos los colores, pruebe si su terminal (no estoy seguro si está probando con un solo emulador de terminal) está compilado para admitir la paleta de 256 colores: descargue y ejecute el siguiente script Perl desde el emulador de terminal en cuestión.

http://scie.nti.st/dist/256colors2.pl

PD. Supongo que ya has corregido el error tipográfico que observó Jordanbrock.

información relacionada