Acabo de cambiar a un Macbook Air. Instalé zsh usando homebrew, pero cuando uso parte del código que tenía (originalmente) en mi .zshrc, aparece un error que dice eso .dircolors was not found.
A continuación se muestra el código en cuestión:
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'
¿ dircolorsNo se envía con Mac OS X? ¿Cómo debo instalarlo?
Actualizar:
Si ejecuto dircolors directamente en el shell, obtengo:
bash: dircolors; command not found

dircolors -bparece sospechoso, pero en mi computadora funciona bien sin un~/.dircolorsarchivo.dircolorsmanualmente en un shell para ver si el binario existe y se encuentra en el$PATH..dircolors was not foundy no se tratadircolors? No hay ningúndircolorscomando en OSX a menos que lo haya instalado usted mismo, es específico de Linux (o más exactamente de GNU coreutils).dircolorsme sale:bash: dircolors: command not found. El código que publiqué en el OP fue generado automáticamente por Zsh en una máquina Linux. Pensé que podía clonar mi.zshrcen mi Mac OS X directamente. ¿Sabe qué hace el código en mi OP o tiene alguna sugerencia sobre cómo modificarlo para llevar la funcionalidad equivalente a Mac OS X?Respuestas:
El comando
dircolorses específico de los coreutils de GNU, por lo que lo encontrará en Linux no integrado y en Cygwin, pero no en otros sistemas Unix como OSX. La configuración generada en su.zshrcno es portátil para OSX.Como está utilizando los colores predeterminados, puede pasar una cadena vacía al
list-colorspara obtener colores en las terminaciones de archivos.Para colores con el comando real
ls, configure laCLICOLORvariable de entorno en OSX y también configureLSCOLORS(consulte el manual para el formato) si desea cambiar los colores.Si desea establecer colores no predeterminados (
dircolorscon un argumento de archivo), mi recomendación sería codificar la salidadircolors -b ~/.dircolorsen su.zshrcy usar esta configuración para zsh y GNU ls.fuente
dircolorsse proporciona comogdircolorsporbrewelcoreutilspaquete de.Como FreeBSD no tiene comando
dircolory OS X tiene la base de FreeBSD, no puede usarlo.Lo más simple es usar
en su
.zshrcy.bashrcy eliminareval "$(dircolors -b)". Para cambiar los colores, puede usar la variable de entornoLSCOLORS. Por ejemplo:Puede encontrar más información al respecto en la página del manual con
Una alternativa a
export CLICOLOR=YESes usar un alias paralsAlgunos sugirieron instalar GNU-Coreutils desde los puertos Mac, pero en mi opinión esto es una exageración. Puedes encontrar el puerto aquí
fuente
Ya no hago todo el mac, así que no tengo nada con qué probar, pero en la búsqueda para que esto funcione en FreeBSD, logré descubrir cómo hacer que esto funcione desde los puertos. Recuerdo que OSX tiene cosas como
brewymacports- Intente instalar GNU coreutils a partir de esto si realmente quieredircolorstrabajar. También tuve que establecer un alias paradircolorsquegdircolorsya que este es el comando que los puertos de FreeBSD instalado la diversión como. ¡Buena suerte a cualquiera que termine probando esto!Aquí hay un enlace para que alguien descargue los coreutils a través de brew:
http://www.topbug.net/blog/2013/04/14/install-and-use-gnu-command-line-tools-in-mac-os-x/
fuente