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?
Réponses
Trop de publicités?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
.
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.
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) :
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 ;-)