使用 zsh 对于大型 /.ssh/config 文件自动完成速度较慢

2023-12-30

我目前有一个 /.ssh/config 文件,其中约有 7000 行。

我想看看是否有办法加快 zsh 中的自动完成功能。

当我开始输入我想要 ssh 进入的服务器然后按TAB它需要大约 10 秒的时间来向我显示我可以选择的可能的主机。


问题是完成_ssh逐行读取整个配置文件寻找Host每次尝试完成主机时的指令。

一种解决方案是重写相关函数(_ssh_hosts)以更快地执行某些操作(例如在内存中缓存主机名以供后续完成)。

另一种方法是通过将实际配置移动到单独的文件中来缩小您的配置文件,使您的配置文件只是一个列表Host/Include对。例如,转

Host foo
    User bob
    IdentityFile ~/.ssh/bob_ident

Host bar
    User alice
    IdentityFile ~/.ssh/alice_ident

into

Host foo
    Include foo_config

Host bar
    Include bar_config

where ~/.ssh/foo_config and ~/.ssh/bar_config将包含每个主机的相关详细信息。

想必,Host指令只占 7000+l 行的一小部分,所以这应该会加快速度_ssh_host相当。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 zsh 对于大型 /.ssh/config 文件自动完成速度较慢 的相关文章

  • 在 Visual Studio Code 上集成 ZSH 时出现字体问题

    我正在尝试将 zsh 集成到我的 VSC 设置中 但显然它无法识别箭头 我的 zsh 主题是 agnoster 我已经尝试添加 terminal integrated fontFamily Meslo LG M DZ for Powerli
  • 具有 tmux 集成的 Iterm2 不使用 .tmux.conf 中的键绑定

    我已经在 iTerm2 中使用 tmux 一段时间了 但我还没有使用 iTerm2 现在附带的 tmux 集成 我开始考虑使用 tmux 集成 因为它允许您在 tmux 内使用 shell 集成 我遇到的问题是在我这样做之后tmux CC我
  • 在窗格/窗口之间共享历史记录

    有没有办法在 tmux 会话中的窗格 窗口之间共享 shell 命令历史记录 将这些选项添加到您的 zshrc setopt inc append history 我还发现hist ignore dups hist ignore space
  • git show HEAD^ 似乎不起作用。这是正常的吗?

    我正在使用 Zsh 并尝试为项目运行 git show 以查看我的修订历史记录 如果我做 git show HEAD 它可以很好地向我显示我的最后一次提交 但是以下命令不起作用 master 5 project git show HEAD
  • zsh 和并行:如何使用函数。它说找不到命令

    我有一个脚本文件 文件名 test sem zsh sh main echo Happy day export f main sem id testing fg main 我正在尝试使用运行它zsh zsh test sem zsh sh
  • Zsh 无法正确自动完成我的 ssh 命令

    我在 ssh 自动完成方面遇到一些问题 我希望我的 zsh 在我的 ssh config 文件上自动完成 但到目前为止它只对 etc hosts 文件执行此操作 我发现如何通过添加此配置来不使用主机文件 zstyle completion
  • Rails:带有参数的 rake 任务不起作用

    这是我的耙子任务 namespace users do task change role role gt environment do t args puts args role end end 我这样称呼它 rake users chan
  • zsh 别名 -> 函数?

    假设我有 alias gg git grep 然后是这样的东西 gg int x 有效 但是 gg int x 收到投诉 有没有办法将 gg 重写为 zsh 中的函数 以便它获取 gg 之后的所有参数 并将它们填充到字符串中 Thanks
  • zsh:在目录分隔符上停止向后杀字

    In zsh http www zsh org 我如何设置行编辑器 以便backward kill word停在目录分隔符上 目前在我的 bash 设置中 如果我输入 cd devel sandbox 然后打C w点将紧随其后devel 在
  • 如何在 Bash 中像拉链一样合并两个数组?

    我正在尝试以类似拉链的方式将两个数组合并为一个数组 我很难做到这一点 array1 one three five seven array2 two four six eight 我尝试过嵌套 for 循环 但无法弄清楚 我不希望输出为 13
  • 在 Zsh 中为 Info 创建键盘快捷键?

    Zsh 对于 Man 有以下键盘快捷键 Esc h 我想要一个类似的键盘快捷键来获取信息 例如 Esc i 如何为信息制作这样的键盘快捷键 这应该可以解决问题 function run info Prepend info to the co
  • 禁用 Zsh 中远程分支的自动完成功能?

    这与禁用 Git Bash 中远程分支的自动完成功能 https stackoverflow com questions 6623649 disable auto completion of remote branches in git b
  • 如何修复 oh-my-zsh 插件无法工作的问题

    我刚刚发现了 oh my zsh 但我无法让它工作 虽然主题可以完美地工作 但插件却不能 我选择了一些插件 例如 macports 但我既没有完成端口命令 也没有适当的别名工作 这是我的 zshrc Path to your oh my z
  • 使用通配符扩展来回显 zsh 中的所有变量

    对于以相同模式开头的多个变量 可以使用通配符来回显所有匹配的模式吗 when zzz1 test1 zzz A test2 zzza test3 匹配以 zzz 开头的所有变量的最佳方法是什么 哪里像echo zzz or for i in
  • 为 zsh + Prezto 主题安装 powerline 字体

    我目前正在使用 Zsh Prezto 进行脚本 shell 配置 我一直在使用sorin主题 但我有点不满意 我想切换到paradox https github com paradox460 prezto blob paradox modu
  • 卸载 oh-my-zsh 时遇到问题?

    我在 OSX 上 想要切换回原来的 zsh 配置哦我的zsh http github com robbyrussell oh my zsh 但是当我运行uninstall脚本它给了我一个错误 sudo uninstall oh my zsh
  • mux_client_request_session:会话请求失败:会话打开被对等方拒绝

    我使用 bitbucket 来托管一些 git 存储库 当我尝试这样做时 git pull git push I get mux client request session session request failed Session o
  • bash、zsh :声明 [*] (天哪)

    我正在使用具有以下语法的 bash 脚本 declare a THIS 这在 zsh 中似乎是非法的 我收到 未找到匹配项 THIS 错误 谁能帮我把它翻译成 zsh 吗 另外 什么是 语法是什么意思 我知道我们正在声明一个数组 但为什么要
  • Zsh 中的鱼式自我暗示?

    有没有办法做到鱼的自我暗示类型 http ridiculousfish com shell images autosuggestion png in Zsh https github com tarruda zsh autosuggesti
  • vim - 昏暗的非活动分割窗格

    如果您熟悉 iTerm2 应用程序 您就会知道您可以像 vim 一样分割视图 并且非活动视图会 变暗 我通常在 vim 中使用三个垂直分割视图 例如 通过将背景颜色设置为较暗的色调来调暗不活动的视图会很好 有没有办法做到这一点 我提出了以下

随机推荐

  • 将 XML 发送到 JMS 时我应该使用 TextMessage 还是 BytesMessage

    我在网上发现了一些非常矛盾的信息 我认为每个不同的 JMS 提供商也可能会改变答案 我试图了解将 XML 发送到 JMS 系统 例如 ActiveMQ 时是否应该使用 BytesMessage 我可以保证 XML 被正确序列化 并且前导码将
  • QML2 ApplicationWindow 键处理

    有没有办法处理ApplicationWindow中的按键事件QtQuick Controls成分 Qt5 3 的文档没有提供任何方法来做到这一点 另外 它说Keys只存在于Item 对象 当我尝试处理按键事件时 它显示 无法将 Keys 属
  • Node.js 是否有相当于 Python 的 subprocess.run 的东西?

    我正在寻找从node js 执行shell 命令 我希望标准输出显示到终端 在 python 中 我可以使用 subprocess run 来做到这一点 在node js中 我看到child process exec 但这会返回标准输出的缓
  • Visual Studio 2013 Github 提交死锁

    我和几个朋友正在通过 GitHub 开发一个项目 我们都共享同一个分支 这可能是也可能不是一个好主意 我编辑了一些代码并提交了更改 我将提交推送到 GitHub 我正在使用 Visual Studio 2013 它是内置的 Git 工具 但
  • 缓冲参数在 Dapper dot net 中起什么作用?

    精致的点网有一个buffer参数 布尔值 但据我所知only它所做的就是在返回结果之前将结果转换为列表 根据文档 https github com StackExchange Dapper buffered vs unbuffered re
  • Grid.IsSharedSizeScope 和 ItemsControl.ItemTemplate 的 WPF 布局问题

    我正在尝试使用 Grid IsSharedSizeScope 将 ItemsControl 显示的数据绑定控件排列在网格第一列中的一些控件旁边 问题是我无法阻止控件不断垂直增长 如何在不设置 MaxHeight 属性的情况下阻止他们这样做
  • TouchUpInside 事件后无法将 UIButton 保持在选定状态

    我需要一个 UIButton 来保持按下状态 基本上 如果按钮处于正常状态 我想触摸该按钮 它会突出显示其标准蓝色 然后在抬起手指后保持蓝色 我制作了以下 UIAction 并将按钮 Touch Up Inside 事件连接到它 IBAct
  • 为什么有人会创建额外的局部变量只是为了在其上添加最终关键字?

    我遇到过类似这样的代码 public void foo String param1 final String param1F param1 我怀疑作者不知道他可以将 Final 关键字直接放在方法签名中 因为在方法的其余部分中他只使用 pa
  • 初始化向量的特征

    我绝不是密码学专家 我一直在 Stack Overflow 和维基百科上阅读一些问题 但在定义 IV 及其用法方面没有什么是真正 明确的 我发现的几点 IV 被添加到明文消息中以加强加密 IV 是真正随机的 每条消息都有自己独特的 IV 有
  • 使用 Jersey 客户端在 POST 中发送名称值对

    我如何将名称值对作为正文传递给泽西岛的 POST ReST 服务 类似于下面使用 Apache Commons PostMethod 的代码 final PostMethod post new PostMethod url post set
  • 为什么正则表达式的运行时间可以呈指数级增长?

    可以编写在某些情况下需要指数运行时间的正则表达式 这样的例子是 aa aa 如果有奇数个输入a它需要指数级的运行时间 测试这个很容易 如果输入仅包含as 且长度为 51 正则表达式需要几秒钟的时间来计算 在我的机器上 相反 如果输入长度为
  • Rails activerecord:总和、最大值和连接

    我有两个型号users and posts 用户可以投票和查看帖子 users id name posts id count votes count views users id created at updated at 我想要的是过去
  • 向 Array 类添加新方法

    我对数组对象有一个新的要求 所以我需要将自己的方法添加到内置 Array 类中 如何添加新方法 以便无论我创建什么 Array 对象 它也将具有我的实例方法 Use 红宝石公开课 http rubylearning com satishta
  • 在 Windows 7 的 XAMPP 1.8.3 上运行 ImageMagick

    我已经尝试了几个小时让 ImageMagick 在我的本地主机上运行 在 Windows 7 上运行 XAMPP 1 8 3 我已经检查并尝试了在该网站上找到的所有解决方案以及其他数十个解决方案 什么都不起作用 无论我尝试哪种 ImageM
  • 安装 SubGit 存储库时跳过修订

    我在用着SubGit http subgit com 克隆 SVN 存储库 修订版本中的某个位置是某个标记的 副本 当 SubGit 加载每个修订版本时 需要很长时间才能获取这个特定标签 而该标签恰好是 的副本 这会阻止复制 我尝试设置mi
  • Jquery,隐藏和显示第n项之后的列表项

    假设我有一个无序列表 如下所示 ul li One li li Two li li Three li li Four li li Five li ul 我如何使用 JQuery 隐藏最后 2 个列表项并在那里有一个 显示更多 链接 这样当单
  • “运算符=必须是非静态成员”是什么意思?

    我正在创建一个双链表 并重载了运算符 以使列表等于另一个 template
  • 如何在 spring-security-javaconfig 中添加访问拒绝处理程序

    我正在使用 spring security javaconfig 库来实现 Spring Security 如果我使用 xml 配置文件 我会使用类似这样的内容来定义自定义 拒绝访问 页面
  • JavaFX 模态窗口对 Swing 的所有权

    我有一个基于 Swing 构建的应用程序 并与 JavaFX 集成 Swing 的 JFrame 是顶层窗口 JFXPanel 包含不同的 JavaFX 控件 现在 我还集成了 JavaFX 的新警报 API 目前在显示时设置警报的所有权时
  • 使用 zsh 对于大型 /.ssh/config 文件自动完成速度较慢

    我目前有一个 ssh config 文件 其中约有 7000 行 我想看看是否有办法加快 zsh 中的自动完成功能 当我开始输入我想要 ssh 进入的服务器然后按TAB它需要大约 10 秒的时间来向我显示我可以选择的可能的主机 问题是完成