Pregunta

Al ejecutar vim desde la línea de comandos en iTerm, resaltado de sintaxis no parece trabajo a nivel local.

En vim, por ejemplo, he instalado un buen esquema de colores que funciona bastante bien en MacVim pero sería genial si en iTerm que mostró la misma.

¿Alguna idea de cómo puedo convertir esto en?

Este es el esquema de color que estoy tratando de uso http://www.vim.org/scripts/script.php?script_id=2340

¿Fue útil?

Solución

que se ve como el esquema de color que sólo es compatible con los terminales de 256 colores. Si Vim piensa que su único soportes terminales 8 colores, que no verá que el esquema de color específico.

Se puede comprobar esto en Vim por:

:echo &t_Co

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

let &t_Co=256

Otros consejos

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

:syntax enable

Para aquellos que todavía tienen un problema.

iTerm 2 -> Preferencias -> Perfiles -> Colores -> contraste mínimo -> menor

 configuración

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

  1. Asegúrese de que iTerm está configurado para utilizar 256 colores. Trate $ echo $TERMat la línea de comandos, y si no ve xterm-256color a continuación, siga las instrucciones en esta respuesta .

  2. Configurar su vimrc para manejar otros terminales también. La Terminal regular en Snow Leopard sólo es compatible con 8 colores para la instancia y parpadeará si intenta utilizar un esquema de color de 256 colores (sólo que no puse una 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
    

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 (ya que fue bastante bien organizado), y entonces ampliamente modificado para mis propios fines.

Sin embargo, el área del problema estaba en un pequeño grupo de valores que nunca había tocado, de nuevo en el archivo original que comenzó con. 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), el "set término" restablece la línea de 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 de 8 colores genérico. Configuración 'término' explícitamente dentro del .vimrc es probablemente una muy mala idea, al igual que el establecimiento de t_Co directamente.

Me quitó todo este bloque (Y puso la configuración gvim en .gvimrc, al que pertenecen), y todo lo que ha estado trabajando correctamente para mí desde entonces.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top