Aqui está algum código do meu arquivo .zshrc. Ele irá auto completar os hosts de / etc / hosts, uma lista que você pode gerenciar, e aqueles que você conectou antes (se você tiver ' HashKnownHosts no
' configurado em sua configuração ssh). A configuração ' HashKnownHosts no
' pode ser considerada um risco de segurança, pois os usuários que já têm acesso ao seu arquivo $HOME/.ssh/known_hosts
podem ver os sistemas aos quais você se conectou anteriormente. Isso foi roubado das configurações grml.
if is42 ; then
[[ -r ~/.ssh/known_hosts ]] && _ssh_hosts=(${${${${(f)"$(<$HOME/.ssh/known_hosts)"}:#[\|]*}%%\ *}%%,*}) || _ssh_hosts=()
[[ -r /etc/hosts ]] && : ${(A)_etc_hosts:=${(s: :)${(ps:\t:)${${(f)~~"$(</etc/hosts)"}%%\#*}##[:blank:]#[^[:blank:]]#}}} || _etc_hosts=()
else
_ssh_hosts=()
_etc_hosts=()
fi
hosts=(
$(hostname)
"$_ssh_hosts[@]"
"$_etc_hosts[@]"
example.com
)
zstyle ':completion:*:hosts' hosts $hosts
Depois de adicionar que tudo funciona como mágica.