web-dev-qa-db-fra.com

Couleur bleu foncé en sortie VIM ou LS sous Linux

J'ai un problème avec la couleur bleu foncé dans la sortie vim ou ls. Parce que j'utilise la couleur de fond noir, les mots colorés en bleu foncé sont presque complètement invisibles. Comment puis-je résoudre ce problème?

59
user7477

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

set background=dark

dans votre session en cours ou définissez-le de façon permanente dans votre vimrc.

La sortie de ls est configurée avec /etc/DIR_COLORS. Voir manpage pour plus d'informations. Les paramètres peuvent être remplacés par un ~/.dir_colors (Sur Ubuntu: ~/.dircolors - voir l'entrée dans ~/.bashrc) dans votre répertoire personnel.

Une entrée comme

 DIR 01;36 

produira un arrière-plan plus lisible avec du cyan.

56
echox

Plutôt que de configurer des applications pour éviter le bleu sur le noir, je recommande de configurer votre terminal pour rendre le bleu 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 commune pour définir la teinte associée à un numéro de couleur de l'application: OSC 4 ; c ; spec BELOSC est ESC ], c est le numéro de couleur et spec est une spécification de couleur telle que #RGB.

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

Un changement par l'application n'est effectif 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 rendre le changement effectivement persistant, ajoutez la séquence d'échappement de la configuration des couleurs à la chaîne de réinitialisation de votre terminal (termcap: r1 chaîne; terminfo: rs1 chaîne).

Voir aussi Remplacement de la nuance de couleur affichée , Puis-je définir les couleurs des terminaux de ma machine locale pour utiliser celles de la machine Je ssh dans? .

n moyen plus rapide de définir la couleur du répertoire ls pour votre session de terminal:

1. Ouvrez votre terminal, exécutez 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 ~ $ 

C'est vous perroquet la commande pour vous de définir les couleurs pour ls. Le "di" signifie répertoire. 34 est le mauvais bleu foncé. 36 est cyan. Permet donc de le coller et de le changer dans le terminal.

2. Copiez le tout dans le terminal, en faisant une seule modification

Vous changez le di=01;34 à di=01;36 comme ça:

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

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

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

4. Rendre permanente l'étape ci-dessus

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 ceci dans votre ~/.bashrc et (redémarrez le terminal ou source ~/.bashrc), les couleurs doivent toujours être correctes.

10
Eric Leschinski

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

:set bg=dark
8
Caleb

Cela chargera les couleurs ls pour le shell actuel, remplaçant le bleu par le cyan.

eval `dircolors | sed -e 's/;34:/;36:/'`

Il définit la variable d'environnement LS_COLORS.

1
Spongman

En utilisant xfce4-terminal , j'ai lutté avec ce problème pendant longtemps jusqu'à ce qu'il ait vraiment cassé mon travail.

J'ai découvert que l'on peut changer la représentation des différentes couleurs dans la "Palette" dans les paramètres "xfce4-terminal". Pour que le bleu foncé soit représenté en bleu clair ou tout autre élément qui correspond à votre couleur de fond. Voir capture d'écran: enter image description here

0
eli