diff --git a/zsh/completion b/zsh/completion index cab38b60..fe22d074 100644 --- a/zsh/completion +++ b/zsh/completion @@ -1,6 +1,8 @@ autoload -Uz compinit && compinit # Add tab completion for SSH hostnames based on ~/.ssh/config, ignoring wildcards -[ -e "$HOME/.ssh/config" ] && complete -o "default" -o "nospace" -W "$(grep "^Host" ~/.ssh/config | grep -v "[?*]" | cut -d " " -f2)" scp sftp ssh +if [ -e "$HOME/.ssh/config" ]; then + zstyle -e ':completion::*:*:*:hosts' hosts 'reply=(${=${${(f)"$(cat {/etc/ssh_,~/.ssh/known_}hosts(|2)(N) /dev/null)"}%%[# ]*}//,/ })' +fi # vim:set ft=zsh: