When I attempt to autocomplete ssh in zsh, I am presented with two types of lists.$ ssh a<TAB> -- remote host name --aur -- login name --avahiHowever, the latter is not useful to me. Is it possible to suppress everything under -- login name --, leaving only entries under -- remote host name --?I also get multiple entries when using rsync, although the headings differ.$ rsync a<TAB> -- user --avahi -- host --aurI'd like to suppress entries under -- user -- here.Possibly pertinent informationI use zim. Also, the following is in ~/.zshrc.h=()if [[ -r ~/.ssh/config ]]; then  h=($h ${${${(@M)${(f)$(cat ~/.ssh/config)}:#Host *}#Host }:#*[*?]*})fiif [[ $#h -gt 0 ]]; then  zstyle ':completion:*:ssh:*' hosts $h  zstyle ':completion:*:slogin:*' hosts $h  zstyle ':completion:*:rsync:*' hosts $hfiThis a workaround for a bug in zim where tab completion works with hostnames instead of hosts.
Can I suppress autocomplete of a certain category in zsh?
zsh;autocomplete
You can use the users style:zstyle ':completion:*' usersSetting an empty list like this disables completion on user names. You can narrow it down to individual commands, if you like:zstyle ':completion:*:rsync:*' usersfor example, would disable it for rsync but leave it on elsewhere.The zsh completion system is very sophisticated, and its configuration complex. The zshcompsys man page covers the new style of completion, as demonstrated here, and the zstyle command is documented in the zshmodules man page.