oh-my-zsh 탭을 사용하면 악센트 문자 자동 완성이 작동하지 않습니다.

oh-my-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나중에 초기화 시퀀스에서 뭔가가 그것을 재설정할 수도 있습니다.

관련 정보