2011-12-30 9 views
10

¿Por qué los esquemas de color vim difieren entre gvim y un terminal normal? Por ejemplo, muchos esquemas de este showcase no funcionan en un terminal normal. Estoy guardando todos los esquemas nuevos en ~/.vim/colors/ y configurado con :colorscheme cool¿Por qué los esquemas de color vim difieren entre gvim y un terminal normal?

¿Alguna forma de resolver esto?

+0

¿Hay alguna diferencia entre la luz y el fondo oscuro en una de ellas? También publique su '~/.vimrc' para la máquina en cuestión –

+0

@ mike-pennington vimrc agregado. He visto este problema en otras computadoras también. –

+0

que gvim? Técnicamente podría ser 'vim-gtk' o' vim-gnome' –

Respuesta

10

Las ventanas de terminal (como xterm) están generalmente limitadas a 2 ** 8 colores. Por otro lado, un término de la GUI puede tener tantos colores como su escritorio gráfico de Windows.

Muchos esquemas de color vim están diseñados para la GUI o el terminal; si están diseñados para una GUI, es poco probable que se muestren en un terminal bien por defecto.

Si necesita convertir un esquema de GUI a terminal (256 colores), puede usar el complemento CSApprox.

+0

+1 gracias por la sugerencia de complemento ... –

+0

De nada, por favor deja una nota si te encuentras con otros problemas de color –

+2

Definitivamente [CSApprox "Make Los esquemas de color gvim-only funcionan de manera transparente en terminal vim "] (http://www.vim.org/scripts/script.php?script_id=2390) es una buena solución.- THX –

1

Porque gvim selecciona directamente los colores X11, mientras que el terminal vim usa la paleta de terminales disponible.

Si utiliza un terminal moderno (gnome, kde o incluso OS X) puede cambiar la paleta de colores disponibles y VIM se verá completamente diferente. GVIM, por otro lado, establece los colores directamente sin la capa de traducción intermedia de la aplicación del terminal.

+0

+1 tienes razón sobre el problema de la paleta (KDE en mi caso), gracias.- ¿hay alguna forma de solucionar esto? –

+0

¿Está configurado su vim para usar 256 colores o solo 16 colores mínimos? Revisa http://vim.wikia.com/wiki/256_colors_in_vim – nimrodm

9

Las dos respuestas actuales son bastante buenas. Su voto debe ir a Mike porque no hay una solución perfecta.

Vim colorschemes generalmente especifican los colores por separado para la GUI y para la CLI. Algunos colores no definen nada para la CLI y los que sí usan el X11 colors.

Estos colores X11 (notados 0-255) han sido más o menos estandarizados desde hace mucho tiempo y solo funcionan realmente en emuladores de terminal que admiten 256 colores. En otros emuladores de terminal menos capaces, se omiten los números más altos y se alteran los colores.

GUI Vim también puede usar estos 256 colores más cualquier color que desee, siempre que se especifique con una notación hexadecimal (# 00d6e3).

Como los coloresCHI pueden usar miles de colores, y los coloresCHI solo pueden usar 256 colores, los valores utilizados para la CLI solo pueden ser aproximaciones de los utilizados por la GUI. Es por eso que CLI Vim no puede parecerse a GUI Vim, incluso si usa un emulador de terminal moderno.

Si su esquema de colores insiste en usar colores fuera del rango X11, nunca tendrá CLI Vim y GUI Vim con el mismo aspecto.

La única forma de sincronizar los colores de GUI y CLI Vim que veo es simplificar el esquema de colores de la GUI utilizando los colores X11 solo.

+0

+1 buen resumen de las razones detrás de este problema. –

+0

curriculum vitae -> resumen :) –

0

Hay un niño nuevo en el bloque llamado CSExact que te moldea el terminal con los colores exactos del esquema de color. Los colores se ven mucho mejor que con CSApprox.

Este complemento permite el uso de esquemas de color GUI (GVim) en (algunos) terminales. Esto se hace mediante el uso de terminal magic para modificar la paleta de colores del terminal al inicio y cada vez que se carga un esquema de color.

Cuestiones relacionadas