autocomplete - zsh 自动完成 ssh 很慢

标签 autocomplete zsh macos-catalina

我最近将我的 macbook 升级到了 OSX Catalina。自从升级我的 ssh 的 zsh 自动完成(选项卡完成)之后,速度真的很慢(以前,它相当快,例如自动完成会在几秒钟内发生)。我认为相关的一些细节:

  • 我有一个 ~/.ssh/config配置了约 2000 个主机的文件
  • 当我输入 ssh x <TAB>事情似乎挂了,输入 ctrl-C 说 Killed by signal in _ssh_hosts after 22s所以看来我的 _ssh_hosts脚本是问题

  • 关于如何调试这个的任何提示?或备用 _ssh_hosts我可以使用的功能?

    最佳答案

    我已经使用 zstyle 整理了一个对我有用的解决方案感谢 this email thread
    我的解决方案是让我的 ~/.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
    
    

    关于autocomplete - zsh 自动完成 ssh 很慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59940971/

    相关文章:

    html - 如何使用 EditorFor 禁用输入字段的自动完成功能?

    git - 如何在终端中显示 git 用户 (oh-my-zsh)

    database - Zsh:找不到命令:mongo 在尝试使用 brew 安装 mongodb 4.2 之后

    zsh:vcs_info: 分支格式的分支名称

    node-gyp 的 Titanium 应用程序编译错误

    terminal - 如何进入之前关闭的pipenv虚拟环境

    javascript - VSCode Intellisense 突然停止对所有工作区工作

    Delphi - 自动完成备忘录

    javascript - HTML 禁用错误的自动完成

    macos - 如何获取 DriverKit 系统扩展日志输出