Bad Apple 但这是我在 vim 中搜索的 6,500 个正则表达式 • eieio.games

主要观点:通过在 Vim 中使用搜索查询实现播放“Bad Apple”视频,介绍了获取视频帧、在 Vim 中绘制、将帧转换为矩形以及在 Vim 中运行的过程。
关键信息

  • 从 GitHub 克隆包含“Bad Apple”视频帧的仓库,将视频帧转换为 0 和 1 组成的 2D 数组。
  • 在 Vim 中通过创建带有绘图的文本网格来绘制,可配置高亮颜色,使用 Square 字体使字符更接近正方形。
  • Vim 的搜索功能如(\zs)和(\ze)可用于声明匹配的开始和结束,能组合多个搜索模式来绘制多个矩形。
  • 编写代码将视频帧分解为最小数量的矩形,虽为朴素算法但性能尚可,还编写了其他朴素算法并选择最短搜索模式。
  • 在 Vim 中通过宏来播放视频,利用寄存器和命令模式实现重复播放,避免直接粘贴长查询导致闪烁和降低帧率。
    重要细节
  • 视频最初为 480x360,缩小为 120x90 以适应终端。
  • 朴素算法在某些情况下效果好,某些情况下会失败,如处理长搜索字符串时帧率会大幅下降。
  • 展示了不同算法在不同情况下生成的搜索模式的效果差异。
  • Vim 播放视频的设置,包括中心窗口播放视频、左右为空缓冲区以及底部窗口显示搜索模式列表。
  • 代码虽 messy 但可在GitHub 仓库查看。
阅读 7
0 条评论