修正する:

修正する:

私はMacBook Airに変更しました。 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ファイルパラメータを使用)、dircolors -b ~/.dircolors出力をハードコーディング.zshrcしてzshとGNU lsの両方にこれらの設定を使用することをお勧めします。

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.ne​​t/blog/2013/04/14/install-and-use-gnu-command-line-tools-in-mac-os-x/

答え4

dircolorsHomebrew coreutilsパッケージからインストールできます。

 brew install coreutils

PATHただし、GNU coreutilsはデフォルトでは含まれていません。あなたのものを編集し、~/.zshrc以下~/.bashrcを追加します。

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

これで、新しいシェルセッションを開始するdircolorsと機能します。

関連情報