Question

Quand je lance vim de la ligne de commande dans iTerm, la coloration syntaxique ne semble pas fonctionner localement.

Dans vim par exemple, j'ai installé une belle colorscheme qui fonctionne très bien dans MacVim mais ce serait bien si iTerm il a montré la même.

Toutes les idées comment je peux tourner ce sur?

Ceci est le schéma de couleurs que je suis en train d'utiliser http://www.vim.org/scripts/script.php?script_id=2340

Était-ce utile?

La solution

Ce régime couleur ressemble il ne supporte que les bornes 256 couleurs. Si Vim pense que vos supports terminaux seulement 8 couleurs, vous ne verrez pas ce régime de couleur spécifique.

Vous pouvez vérifier cela dans vim par:

:echo &t_Co

Si que les rendements 8, cela pourrait être le problème. Essayez le mettre à 256 dans votre ~/.vimrc et voir si cela aide:

let &t_Co=256

Autres conseils

Pour mettre le code en soulignant dans vim, essayez d'activer le plugin de syntaxe:

:syntax enable

Pour ceux qui ont encore problème.

iTerm 2 -> Préférences -> Profils -> Couleurs -> contraste minimum -> le plus bas

 setup

J'ai eu ce problème avant, ainsi que des questions connexes, donc je vais résumer ce que je trouve.

  1. Assurez-vous iTerm est configuré pour utiliser 256 couleurs. Essayez $ echo $TERMat la ligne de commande, et si vous ne voyez pas xterm-256color puis suivez les instructions dans cette réponse .

  2. Configurer votre vimrc pour gérer d'autres terminaux aussi bien. Le Terminal régulière Snow Leopard ne supporte que 8 couleurs par exemple et clignote si vous essayez d'utiliser une palette de couleurs 256 couleurs (je ne mets pas un seul dans ce cas). Voici ce que j'ai:

    " 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
    

Malgré suivant tous les conseils de ce (et d'autres, semblables) questions, j'ai finalement trouvé ma peine dans une partie oubliée d'un vimrc j'avais pris quelque part sur il y a des années web (car il était plutôt bien organisée), et puis largement modifié pour mes propres fins.

Mais la problématique était dans un petit groupe de paramètres que je ne l'avais jamais touché, de retour dans le fichier d'origine, j'ai commencé avec. Le bit correspondant du Vimrc était:

   " 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

Sans surprise (rétrospectivement), que « terme ensemble » remet à zéro la ligne des choses de sorte que peu importe le type de votre terminal rapporte dans la variable d'environnement TERM, vous liquidez avec un terminal ANSI générique, 8 couleurs. Réglage « expression » explicitement dans la Vimrc est probablement une très mauvaise idée, tout comme la mise en t_Co directement.

Je retire ce bloc entier (et mettre les paramètres de gvim dans .gvimrc, où ils appartiennent), et tout a été fonctionne correctement pour moi depuis.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top