lsを表示するときのディレクトリの背景色の削除

lsを表示するときのディレクトリの背景色の削除

この問題があります。いくつかのディレクトリに色があります。ここに画像の説明を入力してください。

色を維持したいのですが、背景を削除したいです。 (ここでは緑ですが、時には他の色かもしれません)背景色を削除したいです。

私はMacOS Monterey 12.1でzsh端末を使用しています。

これに関する他の投稿を見つけましたが、そのうちの何も私には適していません。

答え1

これはls、色付けではなくzsh(GNUが完成リストで行うzshようにファイルの色を指定するように設定できるにもかかわらず)行われます。ls

lsここで、緑色の背景色と青色の前景は、固定ビットがなく、次を介して書き込むことができるディレクトリのGNUの基本構成(Macos用--colorFreeBSDではない)から取得できる色です。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他のもの

関連情報