Pesquisa de conclusão de argumento semelhante a peixe em ZSH

Pesquisa de conclusão de argumento semelhante a peixe em ZSH

Eu estava brincando com peixes e percebi esse comportamento útil

Se eu digitasse wget -<tab><tab><tab>, era colocado em um menu interativo. Porém, quando digitei, procurei as descrições dos próprios argumentos. Eu tentei isso no zsh, e digitar neste menu apenas pareceu me trazer de volta ao meu prompt interativo. Existe uma maneira de obter funcionalidade semelhante no zsh?

Responder1

Tente colocar isso no seu .zshrcarquivo:

 # 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

Agora, se você digitar, wget -<tab>o menu com preenchimentos automáticos aparecerá. Definimos o atalho de teclado para este menu, portanto, se você pressionar ?a linha de pesquisa, aparecerá no topo das conclusões:

davidsykora~%wget --referer
isearch: refe

Algumas dicas adicionais:

  • você também pode definir bindkey -M menuselect '/' history-incremental-search-backwardpara pesquisa retroativa
  • se você pressionar ?novamente durante uma pesquisa, a seleção saltará para o próximo resultado da pesquisa. Use /para pular para o resultado anterior
  • são necessários muitos ajustes para que funcione como você deseja, então dê uma olhadacomplist documentaçãopara encontrar funções e opções adicionais
  • para mim geralmente é muito mais rápido usar vi-inserta função complist - ela filtra as conclusões com base no que você digita.

Responder2

Eu acho que isso faz o que você quer:

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

Isso fará com que a lista apareça quando você clicar em tab e, se continuar digitando, ela pesquisará as opções disponíveis, incluindo descrições, com uma pesquisa incremental.

Você também pode estar interessado na mesma configuração, mas com interação em vez de pesquisa. Nesse caso, enquanto você digita, as conclusões serão filtradas apenas para aquelas que correspondem ao que você digitou até agora.

informação relacionada