Je viens de passer à un Macbook Air. J'ai installé zsh en utilisant homebrew, mais lorsque j'utilise une partie du code que j'avais (à l'origine) dans mon .zshrc
, j'obtiens une erreur en disant cela .dircolors was not found
.
Voici le code en question:
zstyle ':completion:*' auto-description 'specify: %d'
zstyle ':completion:*' completer _expand _complete _correct _approximate
zstyle ':completion:*' format 'Completing %d'
zstyle ':completion:*' group-name ''
zstyle ':completion:*' menu select=2
eval "$(dircolors -b)"
zstyle ':completion:*:default' list-colors ${(s.:.)LS_COLORS}
zstyle ':completion:*' list-colors ''
zstyle ':completion:*' list-prompt %SAt %p: Hit TAB for more, or the character to insert%s
zstyle ':completion:*' matcher-list '' 'm:{a-z}={A-Z}' 'm:{a-zA-Z}={A-Za-z}' 'r:|[._-]=* r:|=* l:|=*'
zstyle ':completion:*' menu select=long
zstyle ':completion:*' select-prompt %SScrolling active: current selection at %p%s
zstyle ':completion:*' use-compctl false
zstyle ':completion:*' verbose true
zstyle ':completion:*:*:kill:*:processes' list-colors '=(#b) #([0-9]#)*=0=01;31'
zstyle ':completion:*:kill:*' command 'ps -u $USER -o pid,%cpu,tty,cputime,cmd'
N'est dircolors
pas livré avec Mac OS X? Comment dois-je l'installer?
Mise à jour:
Si je lance des dircolors directement sur la coque, j'obtiens:
bash: dircolors; command not found
dircolors -b
semble suspect, mais sur mon ordinateur, cela fonctionne sans~/.dircolors
fichier très bien.dircolors
manuellement dans un shell pour voir si le binaire existe et se trouve dans le$PATH
..dircolors was not found
et nondircolors
? Il n'y a pas dedircolors
commande sur OSX à moins que vous ne l'ayez installée vous-même, elle est spécifique à Linux (ou plus précisément aux coreutils GNU).dircolors
je reçois:bash: dircolors: command not found
. Le code que j'ai publié dans l'OP a été généré automatiquement par Zsh sur une machine Linux. Je pensais que je pouvais cloner.zshrc
directement mon Mac OS X. Savez-vous ce que fait le code de mon OP ou avez-vous des suggestions sur la façon de le modifier pour apporter la fonctionnalité équivalente à Mac OS X?Réponses:
La commande
dircolors
est spécifique à GNU coreutils, vous la trouverez donc sur Linux non intégré et sur Cygwin mais pas sur d'autres systèmes Unix tels que OSX. Les paramètres générés dans votre.zshrc
ne sont pas portables sur OSX.Puisque vous utilisez les couleurs par défaut, vous pouvez passer une chaîne vide à
list-colors
pour obtenir les couleurs dans les complétions de fichiers.Pour les couleurs avec la commande réelle
ls
, définissez laCLICOLOR
variable d'environnement sur OSX et définissez égalementLSCOLORS
(voir le manuel pour le format) si vous souhaitez modifier les couleurs.Si vous vouliez définir des couleurs non par défaut (
dircolors
avec un argument de fichier), ma recommandation serait de coder en dur la sortie dedircolors -b ~/.dircolors
votre.zshrc
et d'utiliser ces paramètres pour zsh et GNU ls.la source
dircolors
est fourni commegdircolors
parbrew
lecoreutils
paquet de.Puisque FreeBSD n'a pas de commande
dircolor
et OS X a la base de FreeBSD, vous ne pouvez pas l'utiliser.La chose la plus simple est d'utiliser
dans votre
.zshrc
et.bashrc
et supprimezeval "$(dircolors -b)"
. Pour changer les couleurs, vous pouvez utiliser la variable d'environnementLSCOLORS
. Par exemple:Vous pouvez en savoir plus à ce sujet dans la page de manuel avec
Une alternative à
export CLICOLOR=YES
consiste à utiliser un alias pourls
Certains ont suggéré d'installer GNU-Coreutils à partir des ports Mac, mais à mon avis, c'est une exagération. Vous pouvez trouver le port ici
la source
Je ne fais plus tout le Mac, donc je n'ai rien à tester, mais dans la quête pour que cela fonctionne sur FreeBSD, j'ai réussi à comprendre comment faire fonctionner les ports. Je me souviens que OSX a des trucs comme
brew
etmacports
- Essayez d'installer les coreutils GNU à partir de cela si vous voulez vraimentdircolors
travailler. Je devais aussi mettre un alias pourdircolors
degdircolors
car cela est la commande que les ports FreeBSD installés le plaisir que. Bonne chance à tous ceux qui finissent par essayer!Voici un lien vers quelqu'un qui récupère les coreutils via une infusion:
http://www.topbug.net/blog/2013/04/14/install-and-use-gnu-command-line-tools-in-mac-os-x/
la source