Como posso iterar as conclusões da função shell e as conclusões de alias antes de concluir os comandos externos em zsh?

1

Como está quando eu teclar TAB para iterar possíveis conclusões para um comando parcial, completações de comandos externos são iteradas primeiro:

user@user-X550CL ~ % apt
Completing external command
apt                       aptd                      apt-key                 
apt-add-repository        aptdcon                   apt-mark                
apt-cache                 apt-extracttemplates      apt-sortpkgs            
apt-cdrom                 apt-ftparchive            apturl                  
apt-config                apt-get                   apturl-gtk              
Completing shell function
apt-get_all
Completing alias
apt-get_autoremove_clean  apt-get_update            apt-get_update_upgrade 

No exemplo acima, foi preciso mais 17 hit em TAB para chegar a apt-get_autoremove_clean (ou digitar um -get_ adicional e pressionar TAB 3 mais vezes).

Na maioria dos casos, eu acharia mais conveniente se as funções e aliases do shell fossem iteradas primeiro.

Existe uma maneira de configurar zsh para iterar funções e aliases do shell primeiro?

    
por kos 14.09.2015 / 21:25

2 respostas

2

Olhando para os documentos, isso pode funcionar:

$ zstyle ':completion:*:*:-command-:*' group-order aliases functions commands
$ sudo<tab>
sudoa
sudof
sudo        sudoedit    sudoreplay

(Caso não seja óbvio, sudoa é um alias e sudof é uma função.)

    
por muru 14.09.2015 / 21:45
1

Outro respondente deu o comando para executar, mas não lhe disse como torná-lo padrão.

Execute este comando:

echo "zstyle ':completion:*:*:-command-:*' group-order aliases functions commands" >> ~/.zshrc
    
por Daniel 14.09.2015 / 21:49