2010-09-21 10 views

Respuesta

77

Esa combinación de colores parece solo admite terminales de 256 colores. Si Vim cree que su terminal solo admite 8 colores, no verá ese esquema de color específico.

Puede comprobar esto en Vim por:

:echo &t_Co 

Si eso vuelve 8, este podría ser el problema. Inténtelo de 256 en su ~/.vimrc y ver si eso ayuda:

let &t_Co=256 
+0

Supongo que debe haber alguna configuración en iTerm, para permitir 256 colores? –

+0

nice that funcionó perfectamente –

+1

No funciona para mí debajo del terminal predeterminado 10.6. Hace que el texto vim parpadee en blanco y negro. –

63

el fin de convertir el código en relieve en vim, tratar de activar el complemento sintaxis:

:syntax enable 
+0

En una nota lateral, muchos de los esquemas se hacen para GVim/MacVim y no necesariamente mostrar a su totalidad dentro de la terminal. – Sean

+4

Agregue "sintaxis en" sin comillas al archivo .vimrc para hacerlo permanente – sarathprasath

11

que he tenido este problema antes, así como algunas cuestiones relacionadas, por lo que voy a resumir lo que he encontrado.

  1. Asegúrate de que iTerm esté configurado para usar 256 colores. Pruebe $ echo $TERM en la línea de comandos, y si no ve xterm-256color, siga las instrucciones in this answer.

  2. Configure su vimrc para manejar otros terminales también. El Terminal regular en Snow Leopard solo admite 8 colores, por ejemplo, y parpadeará si intenta utilizar un esquema de color de 256 colores (simplemente no configuro uno en ese caso). Aquí es lo que tengo:

    " enable 256 colors in GNOME terminal (for my Ubuntu VM) 
    if $COLORTERM == 'gnome-terminal' 
        set t_Co=256 
    endif 
    
    " set your color scheme (replace wombat with whatever yours is called) 
    " if you're using a gvim or macvim, then your color scheme may have a version 
    " that uses more than 256 colors 
    if has("gui_running") 
        colorscheme wombat 
    elseif &t_Co == 256 
        colorscheme wombat256 
    endif 
    
    " turn on language specific syntax highlighting 
    syntax on 
    
3

A pesar de seguir todos los consejos en este (y otros similares) preguntas, al final encontré mi problema en una parte olvidada de un vimrc que había tomado de algún sitio en la web Hace años (porque estaba bastante bien organizado), y luego se modificó ampliamente para mis propios fines.

Pero el área problemática estaba en un pequeño grupo de configuraciones que nunca había tocado, en el archivo original con el que comencé. El bit correspondiente de la .vimrc era:

" GVIM- (here instead of .gvimrc) 
    if has('gui_running') 
      set guioptions-=T    " remove the toolbar 
      set lines=40     " 40 lines of text instead of 24, 
    else 
      set term=builtin_ansi  " Make arrow and other keys work 
    endif 

Como era de esperar (en retrospectiva), que "fijan término" línea restablece las cosas para que sin importar qué tipo de terminal es su presentación de informes en la variable de entorno TERM, que terminan con un terminal ANSI genérico de 8 colores. Establecer 'término' explícitamente dentro de .vimrc es probablemente una muy mala idea, al igual que establecer t_Co directamente.

Eliminé todo este bloque (Y puse la configuración de gvim en .gvimrc, donde pertenecen), y desde entonces todo ha funcionado correctamente para mí.

18

Para aquellos que todavía tienen problemas.

iterm 2 -> Preferencias -> Perfiles -> Colores -> -> contraste mínimo más bajo

setup