Domanda

Quando eseguo vim dalla riga di comando in iTerm, l'evidenziazione della sintassi non sembra al lavoro a livello locale.

In vim per esempio ho installato un bel colorscheme che funziona abbastanza bene in MacVim ma sarebbe bello se in iTerm ha mostrato lo stesso.

Tutte le idee come posso attivare questa opzione?

Questa è la combinazione di colori che sto cercando di utilizzo http://www.vim.org/scripts/script.php?script_id=2340

È stato utile?

Soluzione

che sembra combinazione di colori come supporta solo terminali a 256 colori. Se Vim pensa che la vostra unica terminale supporta 8 colori, non si vedrà quello schema colore specifico.

È possibile controllare questo in Vim da:

:echo &t_Co

Se che restituisce 8, questo potrebbe essere il problema. Provare a impostarlo su 256 nel vostro ~/.vimrc e vedere se questo aiuta:

let &t_Co=256

Altri suggerimenti

Al fine di trasformare il codice evidenziazione in vim, tenta di attivare il plugin sintassi:

:syntax enable

Per coloro che hanno ancora problemi.

iTerm 2 -> Preferenze -> Profili -> Colori -> contrasto minima -> più

 setup

Ho avuto questo problema prima, così come alcune questioni correlate, così cercherò di riassumere quello che ho trovato.

  1. Assicurarsi che iTerm è impostata per utilizzare 256 colori. Prova $ echo $TERMat la riga di comando, e se non si vede xterm-256color quindi seguire le istruzioni in questa risposta .

  2. Imposta il tuo vimrc per gestire altri terminali come bene. Il regolare Terminal in Snow Leopard supporta solo 8 colori, ad esempio, e lampeggia se si tenta di utilizzare una combinazione di colori a 256 colori (solo che non impostare uno in quel caso). Ecco quello che ho:

    " 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
    

Nonostante seguendo tutti i consigli contenuti in questo (e altri, simili) domande, alla fine ho trovato il mio problema in una parte dimenticata di un vimrc che avevo preso da qualche parte sul web anni fa (perché è stato piuttosto ben organizzato), e poi ampiamente modificato per i miei scopi.

Ma la zona problema era in un piccolo gruppo di impostazioni che non avevo mai toccato, indietro nel file originale ho iniziato con. Il bit dedicata del .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

Non sorprende (a posteriori), che "insieme termine" riarma linea le cose in modo che, indipendentemente da ciò che digitare il terminale sta riportando nella variabile d'ambiente TERM, si finisce con un terminale ANSI 8 colori generico. Impostazione 'termine' esplicitamente all'interno del .vimrc è probabilmente una pessima idea, proprio come impostazione direttamente t_Co.

ho tolto tutto questo blocco (E mettere le impostazioni gvim in .gvimrc, cui appartengono), e tutto ciò che ha lavorato correttamente per me da allora.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top