Couleur bleu foncé dans la sortie vim ou ls sous Linux

58

J'ai un problème de couleur bleu foncé dans vimou de lssortie. Comme j'utilise une couleur de fond noire, les mots colorés en bleu foncé sont presque totalement invisibles. Comment puis-je résoudre ce problème?

Gilles, arrête de faire le mal
la source
Dupliquer la nuance de couleur affichée
Gilles 'SO - Arrête de faire le mal'
1
Vous pouvez également modifier les couleurs elles-mêmes. Aucune des couleurs (même les "sombres") n'est supposée illisible sur un fond noir. Si vous pouviez spécifier le terminal que vous utilisez, davantage d'informations pourraient être fournies si la question liée ne vous aide pas déjà.
Random832
Cela ressemble à un problème avec certains écrans ou sorties de carte vidéo. Ce bleu par défaut (qui semble au moins plus ou moins identique dans la console Linux et dans certains émulateurs de terminal) est lisible sur certains écrans et illisible sur d’autres.
njsg

Réponses:

55

Vous pouvez modifier le thème de couleur de vim avec l' backgroundoption. Utilisation

set background=dark

dans votre session actuelle ou définissez-le permanent dans votre vimrc.

La sortie de lsest configurée avec /etc/DIR_COLORS. Voir la page de manuel pour plus d'informations. Les paramètres peuvent être écrasés par un fichier ~/.dir_colors(sous Ubuntu: ~/.dircolors- voir entrée dans ~/.bashrc) de votre répertoire personnel.

Une entrée comme

 DIR 01;36 

produira un fond plus lisible avec le cyan.

echox
la source
Pour ceux qui découvrent bash: après avoir créé votre fichier (par exemple ~/.dircolors) comme indiqué ici, il vous suffit source ~/.bashrcde le voir fonctionner. Merci pour cette réponse!
Marcus
26

Plutôt que de configurer les applications pour éviter le bleu sur le noir, je vous recommande de configurer votre terminal pour que le bleu soit plus visible. La plupart des émulateurs de terminaux ont un paramètre pour cela. Dans xterm, il existe une ressource X:

XTerm.VT100.color4: CornflowerBlue

Dans les autres émulateurs de terminal, recherchez dans le fichier de configuration ou la boîte de dialogue les paramètres de couleur ou les thèmes.

Il existe une séquence de contrôle courante pour définir la nuance associée à un numéro de couleur de l'application: OSC 4 ; c ; spec BELOSCest ESC ], cest le numéro de couleur et specune spécification de couleur telle que #RGB.

printf %b '\e]4;4;#6495ed\a'  # set the blue shade to CornflowerBlue

Une modification apportée par l'application n'est effective que jusqu'à la prochaine réinitialisation du terminal. Si vous utilisez cette méthode (uniquement recommandée si votre terminal ne dispose pas d'un mécanisme de configuration), pour que la modification soit réellement persistante, ajoutez la séquence d'échappement de la configuration des couleurs à la chaîne de réinitialisation de votre terminal (termcap: r1string; terminfo: rs1string).

Voir aussi Remplacement de la nuance de couleur affichée . Puis-je définir les couleurs du terminal de ma machine locale pour utiliser celles de la machine dans laquelle je ssh? .

Gilles, arrête de faire le mal
la source
Cela ressemblait à une suggestion boiteuse au début, mais étant donné que je ne peux pas lire la moitié des couleurs sombres et qu'aucun de mes programmes n'utilise des couleurs d'arrière-plan unies lorsque la noirceur peut être raisonnable, cela fait beaucoup de sens!
M Conrad
Solarized ( ethanschoonover.com/solarized ) a de beaux jeux de couleurs pour différents émulateurs de terminaux et autres programmes.
David
10

Un moyen plus rapide de définir la lscouleur du répertoire pour votre session de terminal:

1. Ouvrez votre terminal et lancez la commande dircolors:

machines@box790 ~ $ dircolors
LS_COLORS='rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lz=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.axa=00;36:*.oga=00;36:*.spx=00;36:*.xspf=00;36:';
export LS_COLORS
machines@box790 ~ $ 

Il vous demande de définir les couleurs pour ls. Le 'di' signifie répertoire. 34 est le mauvais bleu foncé. 36 est cyan. Alors laissez-le coller et changez-le dans le terminal.

2. Copier le tout dans le terminal en effectuant un seul changement

Vous changez le di=01;34pour di=01;36aimer ceci:

machines@box790 ~ $ LS_COLORS='rs=0:di=01;36:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lz=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.axa=00;36:*.oga=00;36:*.spx=00;36:*.xspf=00;36:';

machines@box790 ~ $ export LS_COLORS

3. Ceci définit immédiatement les couleurs du répertoire sur cyan

do an 'ls' and see that directories are indeed cyan.

4. Rendre l’étape ci-dessus permanente

Rendez-le permanent en plaçant les commandes ci-dessus au bas de votre ~ / .bashrc comme ceci:

LS_COLORS='rs=0:di=01;36:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lz=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.axa=00;36:*.oga=00;36:*.spx=00;36:*.xspf=00;36:';
export LS_COLORS

Si vous mettez cela dans votre ~ / .bashrc et (redémarrez le terminal ou source ~/.bashrc), les couleurs devraient toujours être correctes.

Eric Leschinski
la source
2
La palette de couleurs pour les dircolors peut être sauvegardée dans un fichier lisible par l’homme et appliquée depuis bashrc avec eval " dircolors -b ~/.dir_colors". Voir ici des exemples de couleurs.
alexei
maintenant, mon lien symbolique est de la même couleur que dir
ealeon
@ Aléon Ah, il semble que les répertoires diet les liens symboliques lnaient la même couleur que 01;36. N'hésitez pas à changer de couleur si cette distinction est importante pour vous. J'ai trouvé cet agencement de couleurs par défaut.
Eric Leschinski
8

Si vous informez vim que vous utilisez un fond noir (ou un thème sombre par ailleurs), toutes les couleurs seront éclaircies afin qu'elles soient lisibles:

:set bg=dark
Caleb
la source
1
eval `dircolors | sed -e 's/;34:/;36:/'`
Spongman
la source