Recentemente, me apaixonei por sistemas eficientes de preenchimento de texto. Um dos meus tipos favoritos de conclusão é a chamada conclusão nebulosa. Este é um modo no qual o programa concluirá a entrada do usuário com base em apenas alguns caracteres que podem ocorrer 'em qualquer lugar' (quase) no nome ou no caminho do arquivo. Esse recurso existe pelo menos para estes programas:
- TextMate
- Vim Command-T plugin https://github.com/wincent/Command-T
- Sistema de conclusão do Vim https://github.com/Shougo/neocomplcache
- Vários IDEs modernos
Exemplo de uso deste modo em um editor de texto:
O usuário está tentando preencher a palavra longWordNameThatTheyDontWantToWriteByHand, e pode fazer isso digitando, por exemplo, a primeira letra e algumas das maiúsculas. Então, digitar lwnt pode ser concluído com toda a palavra.
Minha pergunta é: existe um modo ou algo semelhante que eu poderia usar com o shell zsh?
fonte
stack install && vlc ~/Music/erf
não completar astack install && vlc ~/Music/FGFC820\ -\ Perfect\ War.mp3
.'r:|?=** m:{a-z\-}={A-Z\_}'
agora, que é muito mais simples e não sofre com o problema que você descreve.Confira meu projeto fzf .
É um localizador difuso de uso geral escrito em Golang que pode ser usado com qualquer lista de coisas: arquivos, processos, histórico de comandos, ramificações git, etc.
Para zsh, ele fornece as seguintes ligações de teclas:
CTRL-T
- Cole o (s) caminho (s) do arquivo selecionado (s) na linha de comandoCTRL-R
- Cole o comando selecionado do histórico na linha de comandoALT-C
- cd no diretório selecionadoe modo de conclusão difusa:
fonte
**