ZSH: 명시적이지 않더라도 첫 번째 탭에 완성을 삽입하시겠습니까?

ZSH: 명시적이지 않더라도 첫 번째 탭에 완성을 삽입하시겠습니까?

현재 처음으로 탭을 클릭하면 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하면 즉시 확장됩니다.

관련 정보