Как я могу перебрать завершения функций оболочки и псевдонимов перед завершением внешних команд в zsh?

Когда я нажимаю TAB , чтобы выполнить итерацию возможных завершений для частичной команды, сначала выполняются внешние команды:

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 

В приведенном выше примере это заняло Еще 17 ударов по TAB , чтобы попасть в apt-get_autoremove_clean (или набрать дополнительный -get_ и еще раз TAB ).

В большинстве случаев я бы посчитал более удобным, если бы сначала выполнялись итерации функций оболочки и псевдонимов.

Есть ли способ настроить zsh для перебора функций оболочки и псевдонимов в первую очередь?

1
задан 14 September 2015 в 22:25

2 ответа

Смотря на документы, это могло бы добиться цели:

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

(В случае, если это не очевидно, sudoa, псевдоним и sudof, функция.)

2
ответ дан 15 September 2015 в 08:25
  • 1
    @zana, впечатляющее редактирование действительно выбывает meat в сообщении, спасибо за адвоката. – George Udosen 5 December 2016 в 20:28

Другая отвечающая сторона дала команду для выполнения, но не сказала Вам, как сделать ее значением по умолчанию.

Выполнение эта команда:

echo "zstyle ':completion:*:*:-command-:*' group-order aliases functions commands" >> ~/.zshrc
1
ответ дан 15 September 2015 в 08:25

Другие вопросы по тегам:

Похожие вопросы: