入手しようとしています太陽の下で乾燥私の端末で使用される色のテーマです。説明を読んだここしかし、次のようなdircolorsエラーが発生します。
dircolors: `/home/avazquez/.dircolors_zsh':90: unrecognized keyword RESET
dircolors: `/home/avazquez/.dircolors_zsh':94: unrecognized keyword MULTIHARDLINK
dircolors: `/home/avazquez/.dircolors_zsh':103: unrecognized keyword CAPABILITY
実行時間:
if [ -x /usr/bin/dircolors ]; then
test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
fi
私の.zshrc
zsh(最新バージョン)から(Ubuntussh -X
からリモートでアクセスしますgnome-terminal
)。
問題のファイルパス.dircolors
はここ混乱した行は特別なファイル定義のようです。
## Special files
NORMAL 00;38;5;244 # no color code at all
#FILE 00 # regular file: use no color at all
RESET 0 # reset to "normal" color
DIR 00;38;5;33 # directory 01;34
LINK 01;38;5;37 # symbolic link. (If you set this to 'target' instead of a
# numerical value, the color is as for the file pointed to.)
MULTIHARDLINK 00 # regular file with more than one link
FIFO 48;5;230;38;5;136;01 # pipe
SOCK 48;5;230;38;5;136;01 # socket
DOOR 48;5;230;38;5;136;01 # door
BLK 48;5;230;38;5;244;01 # block device driver
CHR 48;5;230;38;5;244;01 # character device driver
ORPHAN 48;5;235;38;5;160 # symlink to nonexistent file, or non-stat'able file
SETUID 48;5;160;38;5;230 # file that is setuid (u+s)
SETGID 48;5;136;38;5;230 # file that is setgid (g+s)
CAPABILITY 30;41 # file with capability
STICKY_OTHER_WRITABLE 48;5;64;38;5;230 # dir that is sticky and other-writable (+t,o+w)
OTHER_WRITABLE 48;5;235;38;5;33 # dir that is other-writable (o+w) and not sticky
STICKY 48;5;33;38;5;230 # dir with the sticky bit set (+t) and not other-writable
# This is for files with execute permission:
EXEC 01;38;5;64
答え1
それはこれとほとんど関係ありませんzsh
。zsh
カラーコンプリートはGNUのようにサポートされていますls
(例:青ディレクトリの場合、グリーン実行可能ファイルの場合...)、GNUと同じ構成ディレクティブをサポートしますls
。
GNUls
カラー設定はLS_COLORS
環境変数で行われます。この変数を含めると、ln=01;36
シンボリックリンクが次の形式でレンダリングされることを意味します。濃いターコイズ(36
前景のターコイズはANSIカラーコードで、01
太字です。)
でもzsh
同じことができます:
zstyle ':completion:*' list-colors 'ln=01;36'
実際には、通常、次のようにzsh
色補完を構成します。
zstyle ':completion:*' list-colors ${(s.:.)LS_COLORS}
したがって、zsh
カラーコンプリートはGNU lsと同じように機能します。
変数の内容を簡単に作成できるように、LS_COLORS
GNUはls
このコマンドを提供しますdircolors
。このコマンドは、より詳細な内容を含む構成ファイルを入力として使用し(構成ファイルには環境変数などのスペース制限がないため)、LS_COLORS
端末に適した変数の対応する内容を生成します。
上記には次のものがあります。
LINK 01;38;5;37
01
38;5;37
それでも太字で表示されていますが、88色または256色をサポートする端末の拡張カラーモードの仕様です。xterm
これは前景色37で、rgb:00/af/af
ANSI色6の基本色(cyan3
少なくとも私の場合はxterm
ここrgb:00/cd/cd
)よりもやや暗い青緑色()色です。
~$ tput setaf 37 | sed l
\033[38;5;37m$
それ以降dircolors
はln=38;5;37
。
MULTIHARDLINK 00
複数のハードリンクを持つファイルがデフォルトの色でレンダリングされるという規則もあります。これはに変換されmh=00
ます$LS_COLORS
。
ls
しかし、これは比較的新しいバージョンの/で導入されましたdircolors
。もともとはHARDLINK
/でしたが、2009年のcoreutils 7.5では、/がより正確な表現選択であったため、名前が/hl
に変更されました。MULTIHARDLINK
mh
以前のバージョンを使用しているようですdircolors
。どちらもzsh
サポートされておらず(文句なしでは無視されますが)、デフォルトの色に設定されているため、その行を削除することをお勧めします。hl
mh
RESET
/rs
はcoreutils 6.11に追加されましたが、どちらもサポートされていませんzsh
。
CAPABILITY
/はca
coreutils 7.0に追加されましたが、どちらもサポートされていませんzsh
。
サポートされていない項目がある可能性がありますがzsh
(info zsh 'The zsh/complist Module'
詳細については参照)、zsh
サポートしていない項目は無視してください。
あなたが受けているエラーはで発生します。これは、ファイルを作成した人があなたよりも最新バージョンのcoreutils(およびを含むGNUユーティリティスイート)を持っているdircolors
ことを意味します。ファイルからサポートされていない行を削除するだけです。dircolors
ls
dircolors