99 votes

Comment activer le support couleur complet dans Vim ?

J'ai un joli schéma de couleurs Vim (xoria256) et il est magnifique dans GVim, mais quand j'utilise le vim normal dans le Terminal, le schéma de couleurs n'est que partiellement pris en charge - par exemple, la couleur de fond aubergine semi-transparente par défaut est utilisée. Comment puis-je faire en sorte que le Terminal rende fidèlement mon schéma de couleurs Vim?

80voto

Michiel de Mare Points 15888

Le terminal GNOME prend en charge 256 couleurs, mais ne le signale pas. Vous pouvez remplacer la détection automatique de vim en mettant ce qui suit :

if $COLORTERM == 'gnome-terminal'
  set t_Co=256
endif

dans votre ~/.vimrc.

Note : si vous utilisez GNU screen, il convertira joyeusement ces codes de 256 couleurs en 16 couleurs de base. Une meilleure solution est de modifier TERM en xterm-256color avant de lancer screen/vim.

Mise à jour pour 2017 : si vous avez une version suffisamment récente de Vim (7.4.1799 ou plus récente), et un émulateur de terminal suffisamment avancé (xterm, ou gnome-terminal basé sur une version suffisamment récente de VTE), vous pouvez :set termguicolors et le vim terminal utilisera les couleurs pleines 24 bits définies par votre thème vim en utilisant highlight guifg=#rrggbb guibg=#rrggbb.

45voto

agnul Points 536

Une solution plus générale consiste à installer le type de terme "xterm-256color". Dans 10.04, je pense qu'il est installé par défaut. Auparavant, vous deviez installer "ncurses-term" pour l'obtenir.

Ensuite, définissez le type de terme dans .bashrc avec quelque chose comme ce qui suit:

if [ -n "$DISPLAY" -a "$TERM" == "xterm" ]; then
    export TERM=xterm-256color
fi

Si vous préférez n'avoir la capacité de 256 couleurs que pour certains programmes (peut-être que cela en perturbe d'autres), utilisez plutôt:

TERM=xterm-256color monprogramme

et peut-être définissez cela comme un alias pour le programme.

Ensuite, vérifiez les capacités de couleur de votre terminal avec:

$ tput colors
256

Vous pourriez encore avoir besoin du réglage vim ci-dessus pour que vim le reconnaisse. La plupart des applications reconnaîtront automatiquement les 256 couleurs (si elles peuvent les utiliser).

Emacs a également des thèmes de couleur qui sont bien meilleurs avec 256 couleurs. Pour vérifier s'il est capable de 256 couleurs, exécutez:

M-x list-colors-display

256colors.pl est un script Perl qui affichera toutes les couleurs dans votre terminal.

36voto

semi Points 726

Il vous suffit d'inclure la ligne ci-dessous dans votre fichier $HOME/.bashrc (de préférence à la dernière ligne du fichier) :

export TERM="xterm-256color"

Enregistrez-le. Ensuite, redémarrez votre gnome-terminal. Ce changement sera disponible non seulement dans vim, mais pour toutes vos applications de terminal.

Pour vérifier si cela fonctionne, exécutez ce petit script :

#!/usr/bin/env python
# Copyright (C) 2006 by Johannes Zellner, 
# modifié par mac@calmar.ws pour s'adapter à mes besoins de sortie
# modifié par crncosta@carloscosta.org pour s'adapter à mes besoins de sortie

import sys
import os

def echo(msg):
    os.system('echo -n "' + str(msg) + '"')

def out(n):
    os.system("tput setab " + str(n) + "; echo -n " + ("\"% 4d\"" % n))
    os.system("tput setab 0")

# couleurs normales 1 - 16
os.system("tput setaf 16")
for n in range(8):
    out(n)
echo("\n")
for n in range(8, 16):
    out(n)

echo("\n")
echo("\n")

y=16
while y < 231:
    for z in range(0,6):
        out(y)
        y += 1

    echo("\n")

echo("\n")

for n in range(232, 256):
    out(n)
    if n == 237 or n == 243 or n == 249:
        echo("\n")

echo("\n")
os.system("tput setaf 7")
os.system("tput setab 0")

Ensuite, vous verrez quelque chose comme ce qui suit (selon le thème de votre gnome-terminal) :

terminal

1voto

Ward Points 1846

Eh bien, vous pouvez toujours configurer Gvim pour qu'il ressemble à Vim. Il vous suffit de créer un fichier ~/.gvimrc et d'y coller ces astuces de personnalisation :

set guioptions-=r  " pas de barre de défilement à droite
set guioptions-=l  " pas de barre de défilement à gauche
set guioptions-=m  " pas de menu
set guioptions-=T  " pas de barre d'outils

Je ne pense pas que cela résolve votre problème, mais qui sait ;-)

0voto

Bryan Denny Points 21817

J'ai créé un profil séparé pour Vim qui utilise une couleur solide et opaque en arrière-plan. Je bascule simplement manuellement vers lui chaque fois que j'utilise Vim. Je ne sais pas s'il existe une meilleure méthode. J'aimerais penser que oui.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X