저는 맥 실리콘을 사용하고 있는데,벤츄라애플 시스템. 터미널 응용 프로그램에서는 모든 파일 이름이 동일한 색상을 갖습니다. 기본 쉘은 다음과 같습니다.다루기 힘든Ventura에서는 이것이 제가 사용하고 싶은 것입니다. 현재 내.zshrc구성 파일에는 다음 내용이 포함되어 있습니다. 따라서 디렉터리는 모두 특정 색상으로 터미널에 표시됩니다. 이를 변경하고 싶지 않습니다.
PROMPT='%U%B%F{red}%n%u: ~%f%b'
alias ls="ls -G"
alias ll="ls -lG"
-G
BSD의 옵션( ls
macOS에서도 사용됨)은 컬러 출력을 켭니다.
이와 같은 옵션을 사용할 때 표시되는 .
숨겨진 파일(이름이 로 시작하는 파일)을 표시하는 데 사용되는 색상을 변경하기 위해 거기에 뭔가를 추가하고 싶습니다 . 모든 숨겨진 파일(디렉토리 제외)이 터미널에서 밝은 빨간색(예: 자홍색)으로 표시되기를 원합니다. 나는 터미널 명령에 대해 무지하므로(나는 몇 가지 기본 Unix 명령만 알고 있습니다), 간단하고 화려한 트릭이 필요하지 않습니다.ls
-A
그래서 내가 무엇을해야하니? 위의 .zshrc 파일에 어떤 명령을 추가해야 합니까?
답변1
명령 은 ls
인쇄된 내용의 모양에 대해 전적으로 책임을 집니다. ls
실행할 때 종료될 때 zsh
까지 기다리십시오 ls
. (콘텐츠 인쇄 zsh
시 다양한 색상 옵션이 제공됩니다 zsh
.)
MacOS에서 ls
다양한 색상을 설정하는 방법은 다음과 같습니다.https://www.cyberciti.biz/faq/apple-mac-osx-terminal-color-ls-output-option/"LSCOLORS 값 이해"( man ls
색상 처리 방법도 표시)를 참조하세요.
불행하게도 파일/디렉터리 이름을 처리할 수는 없지만 파일 형식(디렉터리, 소켓, 심볼릭 링크 등)만 제공한 팔레트에 따라 색상을 변경합니다.
한 가지 해결책은 다른 명령을 사용하는 것이지만 GNU의 명령은 모드(색상 처리 관련)를 ls
처리하지 않는 것 같습니다 . .*
오직 *.extension
. 이와 유사한 것은 LS_COLORS='.*=01;33' ls -a
인식할 수 없는 접두사를 나타냅니다. (에 따르면http://www.bigsoft.co.uk/blog/2008/04/11/configuring-ls_colors)
답변2
GNU 색상 지정은 파일 메타데이터 또는 고정 접미사( 일반적으로 유틸리티의 도움으로 설정)를 ls
기반으로만 수행할 수 있지만 ,$LS_COLORS
dircolors
zsh 완료 색상 구성 가능모든 패턴을 기반으로 합니다.
통과 합니다 ls
.$LS_COLORS
=pattern=attributes
# set LS_COLORS for GNU ls
eval "$(dircolors)"
# use same colouring for completions, but also specify magenta for hidden files
zstyle ':completion:*:default' list-colors ${(s.:.)LS_COLORS} '=.*=35'
또는 GNU가 없으면 다음을 ls
수행 dircolors
하십시오.
zstyle ':completion:*:default' list-colors ${(s.:.)LS_COLORS} '=.*=35'
(나머지는 GNU와 유사한 기본 색상을 사용합니다 ls
).
이것은 더 현대적인 것을 사용하고 있습니다목록 색상 zstyle, 그러나 구문은 )과 동일합니다 $ZLS_COLORS
.
그런 다음 또는 수동으로 색상 완성을 활성화했다고 가정하면 compinstall
숨겨진 파일이 자홍색으로 표시됩니다.
globdots
aka dotglob
옵션을 활성화하거나(모든 glob 확장에 영향을 줌) 다음을 추가 해야 할 수도 있습니다 .
zstyle ':completion:*' file-patterns '*(D)'
기본적으로 숨겨진 파일은 완성 목록에 포함됩니다.
최소한 ~/.zshrc
다음을 테스트하십시오.
zstyle ':completion:*' menu select=2
zstyle ':completion:*:default' list-colors '=.*=35'
zstyle ':completion:*' file-patterns '*(D)'
autoload -Uz compinit
compinit -i
compinstall
하지만 역시 마무리 시스템을 취향에 맞게 조정하고 두 가지 스타일을 별도로 추가하는 list-colors
것이 file-patterns
가장 좋습니다 .
어쨌든 이는 zsh 완성 목록에만 적용되며 ls
출력에는 영향을 미치지 않습니다.