Я только что переключился на Macbook Air. Я установил zsh, используя homebrew, но когда я использую часть кода, который у меня (изначально был) в моем .zshrc
, я получаю сообщение об ошибке .dircolors was not found
.
Ниже приведен код вопроса:
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'
Есть dircolors
не поставляется с Mac OS X? Как мне его установить?
Обновить:
Если я запускаю dircolors непосредственно на оболочке, я получаю:
bash: dircolors; command not found
dircolors -b
кажется подозрительным, но на моем компьютере это работает без~/.dircolors
файла просто отлично.dircolors
вручную в оболочке, чтобы увидеть, существует ли двоичный файл и находится ли он в$PATH
..dircolors was not found
и не оdircolors
? Наdircolors
OSX нет команды, если вы не установили ее самостоятельно, она специфична для Linux (или, точнее, для GNU coreutils).dircolors
я получаю:bash: dircolors: command not found
. Код, который я разместил в OP, был автоматически сгенерирован Zsh на компьютере с Linux. Я думал, что смогу.zshrc
напрямую клонировать свою Mac OS X. Знаете ли вы, что делает код в моем OP, или есть какие-либо предложения о том, как его изменить, чтобы привнести эквивалентные функциональные возможности в Mac OS X?Ответы:
Эта команда
dircolors
специфична для GNU coreutils, поэтому вы найдете ее в не встроенных Linux и Cygwin, но не в других системах Unix, таких как OSX. Сгенерированные настройки.zshrc
не переносимы в OSX.Поскольку вы используете цвета по умолчанию, вы можете передать пустую строку в,
list-colors
чтобы получить цвета в файлах.Для цветов с фактической
ls
командой установитеCLICOLOR
переменную среды в OSX, а также установитеLSCOLORS
(см. Руководство по формату), если вы хотите изменить цвета.Если вы хотите установить цвета не по умолчанию (
dircolors
с аргументом файла), я бы порекомендовал жестко запрограммировать выводdircolors -b ~/.dircolors
в вашем.zshrc
файле и использовать эти настройки для zsh и GNU ls.источник
dircolors
предоставляется какgdircolors
наbrew
«Scoreutils
пакета.Поскольку у FreeBSD нет команды,
dircolor
а у OS X есть база FreeBSD, вы не можете ее использовать.Самое простое - это использовать
в вашем
.zshrc
и.bashrc
и удалитьeval "$(dircolors -b)"
. Для изменения цвета вы можете использовать переменную окруженияLSCOLORS
. Например:Вы можете узнать больше об этом на странице руководства с
Альтернативой
export CLICOLOR=YES
является использование псевдонима дляls
Некоторые предлагали установить GNU-Coreutils из портов Mac, но, на мой взгляд, это излишнее. Вы можете найти порт здесь
источник
Я больше не работаю с Mac, поэтому мне не с чем тестировать, но в стремлении заставить это работать на FreeBSD, мне удалось выяснить, как заставить это работать из портов. Напомню, в OSX есть такие вещи, как
brew
иmacports
- попробуйте установить из этого ядро GNU coreutils, если вы действительно хотитеdircolors
работать. Я также должен был установить псевдоним для ,dircolors
чтобы ,gdircolors
как это команда , которая порты FreeBSD установлена забава , как. Удачи всем, кто в итоге попробует это!Вот ссылка на того, кто записывает coreutils через brew:
http://www.topbug.net/blog/2013/04/14/install-and-use-gnu-command-line-tools-in-mac-os-x/
источник