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

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

ã내 쉘 구성과 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"localezsh

또한 기본 터미널 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나중에 초기화 순서에서 무언가가 재설정될 수도 있습니다.

관련 정보