Когда я нажимаю TAB kbd>, чтобы выполнить итерацию возможных завершений для частичной команды, сначала выполняются внешние команды:
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 kbd>, чтобы попасть в apt-get_autoremove_clean
(или набрать дополнительный -get_
и еще раз TAB kbd>).
В большинстве случаев я бы посчитал более удобным, если бы сначала выполнялись итерации функций оболочки и псевдонимов.
Есть ли способ настроить zsh
для перебора функций оболочки и псевдонимов в первую очередь?
Смотря на документы, это могло бы добиться цели:
$ zstyle ':completion:*:*:-command-:*' group-order aliases functions commands
$ sudo<tab>
sudoa
sudof
sudo sudoedit sudoreplay
(В случае, если это не очевидно, sudoa
, псевдоним и sudof
, функция.)
Другая отвечающая сторона дала команду для выполнения, но не сказала Вам, как сделать ее значением по умолчанию.
Выполнение эта команда:
echo "zstyle ':completion:*:*:-command-:*' group-order aliases functions commands" >> ~/.zshrc
meat
в сообщении, спасибо за адвоката. – George Udosen 5 December 2016 в 20:28