MacbookAirに切り替えました。自作を使用して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
承認された回答:
コマンドdircolors
はGNUcoreutilsに固有であるため、埋め込まれていない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
ファイル引数を使用する場合)、dircolors -b ~/.dircolors
の出力をハードコーディングすることをお勧めします。 .zshrc
で これらの設定をzshとGNUlsの両方に使用します。
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