私は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'
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
ファイルパラメータを使用)、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 にはコマンドがなく、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
PATH
ただし、GNU coreutilsはデフォルトでは含まれていません。あなたのものを編集し、~/.zshrc
以下~/.bashrc
を追加します。
export PATH="/opt/homebrew/opt/coreutils/libexec/gnubin:$PATH"
これで、新しいシェルセッションを開始するdircolors
と機能します。