Lorsque j'exécute vim à partir de la ligne de commande dans iTerm, la coloration syntaxique ne semble pas fonctionner localement.
Dans vim par exemple, j'ai installé un joli schéma de couleurs qui fonctionne assez bien dans MacVim mais ce serait génial si dans iTerm il montrait le même.
Des idées sur la façon dont je peux activer cela?
C'est le schéma de couleurs que j'essaie d'utiliser http://www.vim.org/scripts/script.php?script_id=234
Ce schéma de couleurs semble ne prendre en charge que les terminaux 256 couleurs. Si Vim pense que votre terminal ne prend en charge que 8 couleurs, vous ne verrez pas ce schéma de couleurs spécifique.
Vous pouvez vérifier cela dans Vim en:
:echo &t_Co
Si cela renvoie 8
, C'est peut-être le problème. Essayez de le régler sur 256 dans votre ~/.vimrc
et voyez si cela aide:
let &t_Co=256
Afin d'activer la mise en évidence du code dans vim, essayez d'activer le plugin de syntaxe:
:syntax enable
J'ai déjà eu ce problème, ainsi que certains problèmes connexes, je vais donc résumer ce que j'ai trouvé.
Assurez-vous que iTerm est configuré pour utiliser 256 couleurs. Essayez $ echo $TERM
en ligne de commande, et si vous ne voyez pas xterm-256color
puis suivez les instructions dans cette réponse .
Configurez votre vimrc
pour gérer également les autres terminaux. Le Terminal normal dans Snow Leopard ne prend en charge que 8 couleurs par exemple et clignotera si vous essayez d'utiliser un jeu de couleurs 256 couleurs (je n'en ai pas défini un 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é avoir suivi tous les conseils de cette question (et d'autres questions similaires), j'ai finalement trouvé mon problème dans une partie oubliée d'un vimrc que j'avais pris quelque part sur le Web il y a des années (parce qu'il était plutôt bien organisé), puis profondément modifié pour mes propres fins.
Mais la zone à problème était dans un petit groupe de paramètres que je n'avais jamais touché, dans le fichier d'origine avec lequel j'ai commencé. Le morceau pertinent 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), cette ligne "set term" réinitialise les choses de sorte que, quel que soit le type de rapport de votre terminal dans la variable d'environnement TERM, vous vous retrouvez avec un terminal ANSI 8 couleurs générique. La définition explicite de "term" dans le .vimrc est probablement une très mauvaise idée, tout comme la définition directe de t_Co.
J'ai supprimé tout ce bloc (et mis les paramètres gvim dans .gvimrc, où ils appartiennent), et tout fonctionne correctement pour moi depuis.