问题
I upgraded my macbook to OSX Catalina recently. Ever since that upgrade my zsh autocomplete (tab completion) for ssh is really slow (previously, it was reasonably fast, e.g. autocomplete would happen in a few seconds). Some details that I think are relevant:
- I have a ~/.ssh/configfile with ~2000 hosts configured
- When I type ssh x <TAB>things seem to hang, typing ctrl-C saysKilled by signal in _ssh_hosts after 22sso it seems that my_ssh_hostsscript is the problem
Any tips on how to debug this? Or alternate _ssh_hosts function I could use?
回答1:
I've put together a solution that works for me using zstyle thanks to this email thread
My solution was to make my ~/.zshrc contain the following
function refresh_ssh_autocomplete () {
    host_list=($(cat ~/.ssh/config | grep 'Host '  | awk '{s = s $2 " "} END {print s}'))
    zstyle ':completion:*:(ssh|scp|sftp):*' hosts $host_list
}
refresh_ssh_autocomplete
来源:https://stackoverflow.com/questions/59940971/zsh-autocomplete-slow-for-ssh