
방금 맥북 에어로 바꿨습니다. 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'
dircolors
Mac OS X와 함께 제공되지 않습니까 ? 어떻게 설치해야 하나요?
업데이트:
쉘에서 직접 dircolors를 실행하면 다음과 같은 결과를 얻습니다.
bash: dircolors; command not found
답변1
이 명령은 dircolors
GNU coreutils에만 해당되므로 내장되지 않은 Linux 및 Cygwin에서는 찾을 수 있지만 OSX와 같은 다른 Unix 시스템에서는 찾을 수 없습니다. 생성된 설정은 .zshrc
OSX로 이식할 수 없습니다.
기본 색상을 사용하고 있으므로 빈 문자열을
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에는 명령이 없고 dircolor
OS 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
을 설정해야 했습니다 . 이것을 시도하게 된 모든 사람에게 행운을 빕니다!dircolors
gdircolors
다음은 Brew를 통해 coreutils를 다운시키는 사람에 대한 링크입니다.
http://www.topbug.net/blog/2013/04/14/install-and-use-gnu-command-line-tools-in-mac-os-x/
답변4
dircolors
Homebrew coreutils 패키지에서 설치할 수 있습니다 .
brew install coreutils
그러나 GNU coreutils는 PATH
기본적으로 포함되지 않습니다. 을 편집 ~/.zshrc
하고 ~/.bashrc
다음을 추가하세요.
export PATH="/opt/homebrew/opt/coreutils/libexec/gnubin:$PATH"
이제 새로운 쉘 세션을 시작한 후에 dircolors
작동해야 합니다.