Fish Shell에서 ~/.dircolors 사용

Fish Shell에서 ~/.dircolors 사용

최근에 bash에서 Fish 쉘로 전환했는데 특정 파일 확장자에 대해 표시할 사용자 정의 색상을 얻기 위해 dircolors 템플릿 파일을 가져오는 데 문제가 있습니다.

Bash에서는 ~/.dircolors/dircolors.256dark.this 로 시작합니다.dircolors.256dark템플릿에는 다양한 색상으로 매핑된 다양한 파일 형식이 있습니다. 예를 들어 를 사용하면 ls모든 .wav파일이 주황색으로 나타납니다. 내 출처는 다음과 같습니다 ~/.bash_profile.

# uses dircolors template
eval $(gdircolors ~/.dircolors/dircolors.256dark)

# Aliases
alias ls='gls --color=auto'

그러나 fish는 실제로 rc 파일을 사용하지 않고 , config.fish파일에서 소스를 가져오지만 일부 작업의 구문은 fish에서 다릅니다.

나는 물고기에서 이것을 달성하는 방법을 알아 내려고 노력하고 있습니다. 저는 다양한 파일 유형을 색상별로 시각적으로 구분할 수 있다는 점을 좋아합니다. 따라서 이것이 fish에서 가능하지 않다면 이는 나에게 문제가 될 수 있습니다.

폴리스티렌

명확하게 말하면 단순히 디렉터리나 실행 파일의 색상을 변경하려는 것이 아니라 파일 확장자를 다르게 하여 파일의 색상을 변경하려는 것입니다. 예를 들어 ls디렉터리에서 이 작업을 수행하면 다음과 같은 결과를 얻습니다.

my_file.py  # this file would be green for example
my_file.js  # this file would be yellow
my_file.wav # this file would be orange

편집: 저는 macOS에서 homebrew를 사용하여 dircolor를 얻고 있습니다.

답변1

해결책은 실제로 매우 간단합니다. 내 ~/.config/fish/config.fish파일에서는 명령문에서 "$"를 제거했습니다 eval. 따라서 다음과 같습니다.

# uses dircolors template
eval (gdircolors ~/.dircolors/dircolors.256dark)

# Aliases
alias ls='gls --color=auto'

관련 정보