
ã
내 쉘 구성과 zsh
같이 악센트 문자가 포함된 자동 완성된 파일 이름을 제대로 표시할 수 없습니다.오-내-zsh.
cão.txt
이 문제를 설명하기 위해 파일 이름을 만들었습니다 . 관심이 있으시면 dog
포르투갈어를 의미합니다.
따라서 처럼 자동 완성을 시도하면 cat c<tab>
다음과 같은 일이 발생합니다.
% cat ca<0303>o.txt
hi dog
그리고 echo $0
나에게 다음을 제공합니다:-zsh
그러나 "일반" 세션으로 이동하면 zsh
정확히 동일한 자동 완성이 작동합니다.
% zsh
% echo $0
zsh
% cat cão.txt
hi dog
내 locale
것은 이렇습니다.
LC_COLLATE="en_US.UTF-8"
LC_CTYPE="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_ALL="en_US.UTF-8"
변수 는 및 와 함께 LANG
비어 있게 시도했습니다 . 또한 "일반" 세션으로 이동하기 전과 후의 설정이 정확히 동일한지 다시 확인했습니다 ."en_US.UTF-8"
"pt_PT.UTF-8"
locale
zsh
또한 기본 터미널 OSX 애플리케이션과 iTerm2 모두에서 동일한 방식으로 작동합니다.
zsh 버전을 사용하고 있습니다 5.0.7
.
여기 나의.zshrc파일뿐만 아니라 내가 사용하는 다른 도트파일도 마찬가지입니다.
oh-my-zsh
자동 완성 기능을 사용하여 악센트 문자를 표시하는 것과 동일한 문제가 발생하면서 자동 및 수동 방식으로 제거하고 설치해 보았습니다 .
답변1
이는 정상적인 기본 zsh
동작처럼 보입니다. 자동 완성 시 결합 문자를 결합하여 표시할지 여부는 셸 옵션에 의해 제어됩니다 combining_chars
. 까지 완료하려면 cão
이를 ~/.zshrc
파일에 넣으세요.
setopt combining_chars
zsh
이것이 비로그인( vs -zsh
) 쉘의 기본값인 경우 귀하의 동작을 재현할 수 없습니다 .
zsh -f
및 비로그인 의 경우에는 다른 구성 파일이 아닌 로만 zsh
소싱됩니다 . /etc/zshenv
어쩌면 /etc/zshenv
구성을 완료했고 setopt combining_chars
나중에 초기화 순서에서 무언가가 재설정될 수도 있습니다.