Autocomplete ssh的zsh自动完成速度慢

Autocomplete ssh的zsh自动完成速度慢,autocomplete,zsh,macos-catalina,Autocomplete,Zsh,Macos Catalina,最近我把我的macbook升级到了OSX Catalina。因为之前升级我的ssh的zsh autocomplete标签完成速度非常慢,所以它相当快,例如自动完成只需几秒钟。我认为相关的一些细节: 我有一个配置了约2000台主机的~/.ssh/config文件 当我键入ssh x时,事情似乎挂起了,键入ctrl-C表示22秒后在_ssh_hosts中被信号杀死,所以我的_ssh_hosts脚本似乎是问题所在 有关于如何调试的提示吗?或者我可以使用的备用“ssh”主机功能?多亏了 我的解决方案是使

最近我把我的macbook升级到了OSX Catalina。因为之前升级我的ssh的zsh autocomplete标签完成速度非常慢,所以它相当快,例如自动完成只需几秒钟。我认为相关的一些细节:

我有一个配置了约2000台主机的~/.ssh/config文件 当我键入ssh x时,事情似乎挂起了,键入ctrl-C表示22秒后在_ssh_hosts中被信号杀死,所以我的_ssh_hosts脚本似乎是问题所在
有关于如何调试的提示吗?或者我可以使用的备用“ssh”主机功能?

多亏了

我的解决方案是使我的~/.zshrc包含以下内容

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

ssh的自动完成功能每次都会重新解析您的配置文件,而不是第一次将结果缓存在内存中。这可能对您的帮助不大,因为2000个特定于主机的配置文件可能会出现自己的问题。