答え1
これはls
、色付けではなくzsh
(GNUが完成リストで行うzsh
ようにファイルの色を指定するように設定できるにもかかわらず)行われます。ls
ls
ここで、緑色の背景色と青色の前景は、固定ビットがなく、次を介して書き込むことができるディレクトリのGNUの基本構成(Macos用--color
FreeBSDではない)から取得できる色です。ls
/bin/sh
他の人(所有者とグループの所有者より)。
ディレクトリにこれらの権限がある場合、通常は問題があることを意味します。とてもゆるいです。したがって、不快な色が見えたら、それを修正できないので良いです。
dircolors -p
基本構成の表示:
$ dircolors -p | grep -w -e 34 -e 42
# 30=black 31=red 32=green 33=yellow 34=blue 35=magenta 36=cyan 37=white
# 40=black 41=red 42=green 43=yellow 44=blue 45=magenta 46=cyan 47=white
DIR 01;34 # directory
STICKY_OTHER_WRITABLE 30;42 # dir that is sticky and other-writable (+t,o+w)
OTHER_WRITABLE 34;42 # dir that is other-writable (o+w) and not sticky
(ANSIカラーエスケープシーケンスでは、34は前景青のコード、42は背景緑のコードです。)
STICKY_OTHER_WRITABLE(緑色の背景に黒色)は、誰でも書き込むことができるディレクトリと一致します(例:)/tmp
。ただし、少なくともユーザー(ディレクトリ所有者以外)は、自分が所有していないファイルを削除したり名前を変更したりできないため、OTHER_WRITABLEほど悪くはありません。
これらのデフォルト値を変更するには、この出力をdircolors -p
ファイルにリダイレクトできます。
dircolors -p > ~/.config/dircolors
必要に応じて編集してください。たとえば、OTHER_WRITABLEをより衝撃的で耐え難いものに変更してみてください。
OTHER_WRITABLE 5;48;5;210;38;5;47 # some shade of green on some shade of pink
# background and blinking to urge users
# to fix the permissions
(これは通常、256パレットをサポートする端末で認識されるエスケープシーケンスを使用します。現在、多くの端末はあまりにも面倒なので、最初の5回点滅を無視します。)
次の項目に追加します~/.zshrc
。
eval "$(dircolors -b ~/.config/dircolors)"
$LS_COLORS
これらの設定を環境変数にロードするには、とOTHER_WRITABLE 5;48;5;210;38;5;47
表示されますow=48;5;210;38;5;47
。
完成時に同じ色を表示するには、zsh
少なくとも以下が必要です(上記の行以降~/.zshrc
)。
autoload -Uz compinit
compinit
zstyle ':completion:*' list-colors ${(s.:.)LS_COLORS}
適切に調整したい場合がありますが、compinstall
メニューをナビゲートすると次の手順を案内できます。
3. Styles for changing the way completions are displayed and inserted.
➡️
3. Configure coloured/highlighted completion lists, selection of items
and scrolling.
➡️
1. Use coloured lists for listing completions.
➡️
1. Using the default colours.
2. Using the colours already set up for GNU ls via the $LS_COLORS
environment variable. Note this must be set before the completion
configuration code is executed.
3. Turn colouring off.
3 ➡️ 3 ➡️ 1 ➡️ 3を選択するとzstyle
上記の行が~/.zshrc
。
答え2
同じ問題があります。
まずls
、実際に何を使用しているかを確認してくださいwhich ls
。私の場合、エイリアスはbeですgls --color=tty
。私は自分で設定したのではなく、zshまたはohmyzshです。
unalias ls
背景色だけを取り除いてください
テキストの前景色を維持するには、エイリアスls
またはls -G
他のもの