ZSH에서 Fish와 유사한 인수 완성 검색

ZSH에서 Fish와 유사한 인수 완성 검색

나는 물고기를 가지고 놀다가 이 편리한 동작을 발견했습니다.

를 입력하면 wget -<tab><tab><tab>대화형 메뉴가 표시됩니다. 그런데 입력을 해보니 인수 자체에 대한 설명을 검색해 봤습니다. 나는 이것을 zsh에서 시도했고 이 메뉴를 입력하면 대화형 프롬프트로 다시 돌아가는 것 같았습니다. zsh에서 비슷한 기능을 얻을 수 있는 방법이 있나요?

답변1

이것을 파일에 넣어보십시오 .zshrc:

 # load module for list-style selection
 zmodload zsh/complist

 # use the module above for autocomplete selection
 zstyle ':completion:*' menu yes select

 # now we can define keybindings for complist module
 # you want to trigger search on autocomplete items
 # so we'll bind some key to trigger history-incremental-search-forward function
 bindkey -M menuselect '?' history-incremental-search-forward

이제 입력하면 wget -<tab>자동 완성 메뉴가 나타납니다. 이 메뉴에 대한 키 바인딩을 정의했으므로 검색 라인을 누르면 ?완성 항목 상단에 나타납니다.

davidsykora~%wget --referer
isearch: refe

몇 가지 추가 팁:

  • bindkey -M menuselect '/' history-incremental-search-backward뒤로 검색을 정의할 수도 있습니다.
  • ?검색 중에 다시 누르면 선택 항목이 다음 검색 결과로 이동합니다. /이전 결과로 이동하는 데 사용
  • 원하는 대로 작동하려면 많은 조정이 필요하므로 다음을 살펴보세요.complist 선적 서류 비치추가 기능 및 옵션을 찾으려면
  • 나에게는 일반적으로 vi-insertcomplist 기능을 사용하는 것이 훨씬 빠릅니다. 입력한 내용에 따라 완성을 필터링합니다.

답변2

나는 이것이 당신이 원하는 것을 한다고 생각합니다.

  zmodload zsh/complist
  setopt menucomplete
  zstyle ':completion:*' menu select=0 search

이렇게 하면 탭을 누를 때 목록이 표시되고, 계속 입력하면 증분 검색을 통해 설명을 포함하여 사용 가능한 옵션이 검색됩니다.

동일한 구성에 관심이 있을 수도 있지만 검색 대신 대화형을 사용합니다. 이 경우 입력할 때 지금까지 입력한 내용과 일치하는 항목으로만 완성 항목을 필터링합니다.

관련 정보