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다른 것

관련 정보