가능한 일치 항목이 입력된 경우에도 zsh에서 자동 완성 옵션을 표시하도록 합니다.

가능한 일치 항목이 입력된 경우에도 zsh에서 자동 완성 옵션을 표시하도록 합니다.

현재 시스템(zsh 5.0.2가 포함된 openSUSE 12.3)에서는 이미 입력한 경우 자동 완성 기능을 통해 가능한 완성 일치 항목을 선택할 수 없습니다.

예를 들어, 다음과 같은 두 개의 파일이 있는 디렉터리에 있다면문서그리고파일 2나는 다음을 입력합니다:

cat file<TAB>

그런 다음 공백이 추가되고 해당 내용이 표시되지 않습니다.파일 2또한 가능한 일치입니다. 이 동작을 변경할 수 있습니까? 이 경우 Bash는 더 잘 작동합니다.문서그리고파일 2공백을 추가하지 않고), 가능한 일치 항목을 숨기지 않는 솔루션도 흥미로울 것입니다.

답변1

zstyle ':completion:*' accept-exact false

~에서zshcompsys(1)

accept-exact
              This  is  tested for the default tag in addition to the tags valid for the current context.  If it is set to `true' and any of the trial matches is the
              same as the string on the command line, this match will immediately be accepted (even if it would otherwise be considered ambiguous).

모든 완성 유형에 영향을 주지 않고 zstyle의 컨텍스트를 보다 구체적으로 만들 수도 있습니다.

답변2

openSUSE 12.3에 zsh 5.0.2도 있고 zsh가 원하는 방식으로 정확하게 작동하기 때문에 이것은 확실히 가능합니다. 안타깝게도 어떤 설정으로 .zshrc이 문제가 해결되었는지는 기억나지 않지만 다음과 같이 할 수 있습니다.직접 확인해보세요당신이 그것을 알아낼 수 있기를 바랍니다. 내 생각엔 이것이 옵션 중 하나 setopt이거나 줄 중 하나 인 것 같지만 zstyle, 이 글을 대부분 쓴 지 몇 년이 지났습니다...

관련 정보