J'essaie d'obtenir 256 couleurs dans la fantastique console ConEmu-Maximus5 .
Mise à jour: Maintenant, il ne montre que 8 couleurs. Je sais parce que la sortie '$ tput colors' est '8'
J'ai suivi les instructions et activé:
Je ne comprends pas quoi faire avec 'cochez si le tampon/diapositive.'
"C:\Program Files\ConEmu\ConEmu64.exe"/cmd "" C:\cygwin\bin\bash.exe "--login -i"
fonction Invite { local RED = "\ [\ 033 [0; 31m \]" local GREEN = "\ [\ 033 [0; 32m \] " local COOLRED ="\e [38; 5; 173m " local COOLGREEN ="\e [38; 5; 113m " PS1 =" $ COOLRED\u @\h $ LIGHT_COOLGREEN\$ PWD\[\ e [0m \]> " } Invite
J'ai quelques captures d'écran:
Comme vous pouvez le constater, la commande Invite semble très extravagante car elle n’aime pas les paramètres de 256 couleurs. Si je substitue les variables COOLRED et COOLGREEN avec RED et GREEN, alors cela aura l'air correct, mais ce n'est pas 256 couleurs.
Plus de captures d'écran des paramètres:
Et le dernier coup tiré, c'est la menthe de cygwin. Tout va bien là-bas. Plein 256 couleurs pris en charge. C'est dommage que la menthe n'ait pas d'onglets. C'est principalement la raison pour laquelle j'essaie de passer à ConEmu.
Merci beaucoup pour votre aide!!!
Bash n'envoie pas de séquences ANSI à la console. Il essaie de les traiter lui-même. De plus, étant donné que * nix terminal est généralement composé uniquement de 8 couleurs (sans tenir compte du mode 256 couleurs), bash utilise une palette de 8 couleurs au lieu de 16 couleurs, qui est commune au terminal Windows.
Je pense que 256 couleurs fonctionnent à la menthe parce que _isatty
renvoie zéro dans ce terminal. Mais il renvoie une valeur non nulle sous ConEmu. Peut-être dans les versions futures, je résous ce puzzle (comment créer un terminal réel avec des fonctionnalités PTY pour certaines applications).
Quant à la question
Vous n'avez pas besoin de 256 couleurs En fait. Pour redéfinir la palette des invites, vous pouvez utiliser la fonction "Étendre les couleurs de premier plan avec l'arrière-plan". En mode Breaf, configurez les couleurs 16, 17, etc. dans ConEmu, définissez Invite Background in bash sur # 5 (configurable dans ConEmu) et le tour est joué.
Il y avait un petit bug dans le traitement "Étendre ..." de ConEmu. Utilisez la version 121016 ou ultérieure.
PS1="\e[30;45m\u@\h \e[34;45m$PWD \[\e[0m\] > "
Les informations suivantes ne correspondent pas à la question, mais peuvent être utiles
La version actuelle ne prend pas en charge le mode 256 couleurs dans la mémoire tampon "entière" de la console (limitation, oui, suppression dans les plans).
Donc, vous pouvez aller de deux façons
Je ne pouvais pas non plus utiliser le support 256 couleurs (les couleurs seraient visibles, mais elles avaient le même aspect que la palette 16 couleurs). Je suis passé au jeu de couleurs "xterm" et cela fonctionne maintenant dans les exécutables Windows natifs (tels que Python), mais pas dans tout ce qui utilise Cygwin. Cygwin semble avoir un traitement de séquence d'échappement terminal que vous ne pouvez pas désactiver, ce qui annule l'injection ConEmuHk
.
J'ai eu ce problème étrange et la solution étrange et en quelque sorte cela fonctionne. et je ne sais pas si c'est aussi avec les autres, juste quelques partages d'informations au cas où cela serait utile.
J'aime colorer mes consoles et utiliser pleinement la vraie coloration RVB 256 bits. Après la configuration, comme dans le conemu/CMDer (j’ai utilisé le forked) instruction . mon test de coloration 256bit ressemblait à ceci. . Après avoir bricolé un peu et testé avec ma capacité bash 256bit. c'est-à-dire en exécutant cette commande:
for i in {1..16384}; do echo -en "\e[38;5;${i}mTest";done
* note supposée être {1..256}, mais je devais le forcer pour des impressions couleur plus longues, alors prenons juste un nombre aléatoire plus long .. donnant le résultat:
Mais en courant 2-3 fois, j’ai vu cette nuance grise et propre
et cela a ensuite fonctionné ..
bizarre mais ça marche. Pourrait-il être que CMDer n’utilise pas l’ensemble des 256 bits pour des raisons d’optimisation et qu’il se déclenche lorsqu’il est lancé?,
PS: mon CMDer cmd pour la console:
-cur_console:fp -cur_console:d:"C:\WS":P:"<Cobalt>":t:"test":C:"C:\Arbeit\tools\Iconka-Buddy-Ninja.ico" set "PATH=%ConEmuDrive%\Program Files\Git\usr\bin;%PATH%" & "%ConEmuDrive%\Program Files\Git\git-bash.exe" --no-cd --command=%ConEmuBaseDirShort%\conemu-msys2-64.exe /usr/bin/bash.exe -l -i