como obtenho zsh para * apenas * listar as coisas em meu diretório atual durante a conclusão da tabulação?

0

Em zsh, quando digito alguns caracteres, ele lista todas essas coisas (comandos e eu acho subarquivos). Como obtenho o zsh para apenas listar o conteúdo do meu current_directory?

Na foto acima, eu digito o caractere a , na esperança de que ele me permita concluir a guia a_dir , mas me oferece um catálogo inteiro de comandos.

Existe um comando permanente que apenas me permite digitar o caractere a ?

    
por Conor Cosnett 12.06.2017 / 19:11

2 respostas

2

Defina o estilo tag-order assim

zstyle :completion::complete:-command-:: tag-order local-directories -

A tag local-directories só está disponível quando a opção autocd está ativada. O - diz ao zsh para descartar quaisquer correspondências possíveis em outros tag s

Você também pode encontrar o estilo insert-tab de interesse; então, quando $BUFFER estiver vazio, ele ainda completará os arquivos no diretório atual.

zstyle ':completion:*' insert-tab false
    
por 13.06.2017 / 04:59
0

Para responder à sua pergunta (mesmo que não tenha certeza de ver o propósito dela) e abordar os comentários após ela, há uma maneira de concluir apenas por nome de arquivo sem perder a conclusão normal. Você pode associar a conclusão do nome do arquivo a uma chave (aqui Ctrl + F ):

zstyle ':completion:files:*' completer _files
zstyle ':completion:files:*' file-patterns '*:all\ files'
zstyle ':completion:files:*' hidden all
zle -C files menu-complete _generic
bindkey '^F' files

Poderia ser útil, talvez, configurando autocd e adicionando aliases de sufixo, por exemplo:

alias -s pdf="zathura"
alias -s jpg="sxiv -f"
alias -s tex="vim"
setopt autocd
    
por 15.06.2017 / 07:11