현재 처음으로 탭을 클릭하면 ZSH에서 완료가 불분명한 메뉴를 표시합니다. 따라서 명령 프롬프트에 "cd"를 입력하고 Tab 키를 누르면 사용 가능한 다른 완성 항목이 표시됩니다. 탭을 다시 클릭하면 사용 가능한 첫 번째 완성이 선택됩니다.
Tab 키를 누르는 데 이 두 단계를 결합하고 싶습니다. 따라서 'cd'에 있는 상태에서 Tab을 누르면 ZSH가 사용 가능한 첫 번째 일치 항목(모호한 경우)을 삽입하고 메뉴를 표시하고 첫 번째 일치 항목이 내 디렉터리가 아닌 경우 Tab을 통해 정신적으로 선택을 할 수 있습니다.
ZSH 설정 도구는 내 쉘의 동작에 영향을 미치는 경우를 대비하여 이를 내 .zshrc에 넣습니다.
zstyle ':completion:*' Completer_expand _complete _ignored zstyle ':completion:*' 목록 색상'' zstyle ':completion:*' 목록 프롬프트 %SAt %p: 더 많은 내용을 보려면 Tab 키를 누르거나 삽입할 문자 %s를 입력하세요. zstyle ':completion:*' matcher-list 'm:{[:lower:][:upper:]}={[:upper:][:lower:]}' '' 'm:{[:lower:] [:upper:]}={[:upper:][:lower:]}' zstyle ':completion:*' 메뉴 선택=5 zstyle ':completion:*' 선택 프롬프트 %SScrolling Activity: 현재 선택 항목은 %p%s에 있습니다. zstyle:compinstall 파일 이름'/home/robb/.zshrc'
답변1
다음 줄을 다음 항목에 추가하세요 ~/.zshrc
.
setopt menu_complete
man zshoptions
자세히보다.
답변2
원래 질문의 .zshrc에 없지만 compinstall 프로세스를 완료한 경우 완료 옵션에 "_list"가 없는지 확인하세요.
zstyle ':completion:*' completer _expand _complete _ignored _correct _approximate _prefix
_list를 사용하면 첫 번째 탭 완성 요청으로 가능한 완료 목록만 얻을 수 있으며 일부 솔루션을 재정의합니다.
답변3
다음을 설정 하지 않았는지 확인하세요 _list
.
나는 가지고있다:
zstyle ':completion:*' completer _list _expand _complete _ignored _match _correct _approximate _prefix
제거 _list
하면 즉시 확장됩니다.