업데이트:

업데이트:

방금 맥북 에어로 바꿨습니다. homebrew를 사용하여 zsh를 설치했지만 .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'

dircolorsMac OS X와 ​​함께 제공되지 않습니까 ? 어떻게 설치해야 하나요?

업데이트:

쉘에서 직접 dircolors를 실행하면 다음과 같은 결과를 얻습니다.

bash: dircolors; command not found

답변1

이 명령은 dircolorsGNU coreutils에만 해당되므로 내장되지 않은 Linux 및 Cygwin에서는 찾을 수 있지만 OSX와 같은 다른 Unix 시스템에서는 찾을 수 없습니다. 생성된 설정은 .zshrcOSX로 이식할 수 없습니다.

기본 색상을 사용하고 있으므로 빈 문자열을 list-colors파일 완성에서 색상을 얻으려면.

다음과 같은 색상의 경우실제 ls명령CLICOLOR, OSX에서 환경 변수를 설정 하고 LSCOLORS색상을 변경하려면 설정합니다(형식에 대한 설명서 참조).

if whence dircolors >/dev/null; then
  eval "$(dircolors -b)"
  zstyle ':completion:*:default' list-colors ${(s.:.)LS_COLORS}
  alias ls='ls --color'
else
  export CLICOLOR=1
  zstyle ':completion:*:default' list-colors ''
fi

기본이 아닌 색상을 설정하려면( 파일 인수 사용) 의 dircolors출력을 하드 코딩 하고 zsh 및 GNU ls 모두에 대해 이러한 설정을 사용하는 것이 좋습니다.dircolors -b ~/.dircolors.zshrc

LS_COLORS=…
zstyle ':completion:*:default' list-colors ${(s.:.)LS_COLORS}
if whence dircolors >/dev/null; then
  export LS_COLORS
  alias ls='ls --color'
else
  export CLICOLOR=1
  LSCOLORS=…
fi

답변2

FreeBSD에는 명령이 없고 dircolorOS X에는 FreeBSD 기반이 있으므로 사용할 수 없습니다.

가장 간단한 것은 사용하는 것입니다.

export CLICOLOR=YES

당신의 .zshrc.bashrc및 제거 eval "$(dircolors -b)". 색상을 변경하려면 환경 변수를 사용할 수 있습니다 LSCOLORS. 예를 들어:

export LSCOLORS="Gxfxcxdxbxegedabagacad"

이에 대한 자세한 내용은 매뉴얼 페이지에서 확인할 수 있습니다.

man ls

대안은 export CLICOLOR=YES별칭을 사용하는 것입니다.ls

alias ls=ls -G

일부에서는 Mac 포트에서 GNU-Coreutils를 설치하라고 제안했지만 제 생각에는 이는 과잉입니다. 항구를 찾을 수 있어요여기

답변3

나는 더 이상 Mac 전체 작업을 수행하지 않으므로 테스트할 것이 없지만 FreeBSD에서 이 작업을 수행하는 과정에서 포트에서 이 작업을 수행하는 방법을 알아냈습니다. OSX에는 다음과 같은 기능이 있다는 것을 기억합니다. brew- 정말로 작업하고 macports싶다면 여기에서 GNU coreutils를 설치해 보세요 . 또한 FreeBSD 포트가 재미를 설치하는 명령이므로 별칭 dircolors을 설정해야 했습니다 . 이것을 시도하게 된 모든 사람에게 행운을 빕니다!dircolorsgdircolors

다음은 Brew를 통해 coreutils를 다운시키는 사람에 대한 링크입니다.

http://www.topbug.net/blog/2013/04/14/install-and-use-gnu-command-line-tools-in-mac-os-x/

답변4

dircolorsHomebrew coreutils 패키지에서 설치할 수 있습니다 .

 brew install coreutils

그러나 GNU coreutils는 PATH기본적으로 포함되지 않습니다. 을 편집 ~/.zshrc하고 ~/.bashrc다음을 추가하세요.

  export PATH="/opt/homebrew/opt/coreutils/libexec/gnubin:$PATH"

이제 새로운 쉘 세션을 시작한 후에 dircolors작동해야 합니다.

관련 정보