名称: vhs-recorder
描述: 使用 VHS 磁带文件创建专业的终端录制 - 涵盖语法、时序、设置和最佳实践指南
VHS 录制器
使用 Charm 的 VHS 创建终端录制。适用于制作 CLI 演示、README 动画、文档视频等场景。
先决条件
- 已安装
vhs (brew install vhs / go install github.com/charmbracelet/vhs@latest)
ttyd 和 ffmpeg 已在 PATH 环境变量中
磁带文件结构
Output demo.gif # 首先指定输出文件
Set Width 1200 # 其次进行设置
Set Theme "Catppuccin Mocha"
Require git # 第三声明依赖
Hide # 隐藏设置步骤
Type "cd /tmp && clear"
Enter
Show
Type "your command" # 主录制内容
Enter
Wait
Sleep 2s
核心命令
| 命令 |
用途 |
Type "text" |
输入文本(使用 TypingSpeed 设置的速度) |
Enter / Tab / Space |
按键操作 |
Up / Down / Left / Right |
方向键导航 |
PageUp / PageDown |
页面导航 |
Ctrl+C / Ctrl+D / Ctrl+L |
信号/EOF/清屏组合键 |
Wait / Wait /pattern/ |
等待提示符或正则表达式匹配 |
Sleep 2s |
固定暂停(支持 ms/s/m 单位) |
Hide/Show |
隐藏/显示设置或清理步骤 |
Type@50ms "text" |
行内覆盖打字速度 |
Backspace N / Delete N |
向前/向后删除 N 个字符 |
Copy / Paste |
剪贴板操作 |
Screenshot path.png |
捕获单帧画面 |
Env VAR "value" |
设置环境变量 |
关键设置
| 设置项 |
默认值 |
说明 |
| Width/Height |
1200/600 |
终端尺寸(像素) |
| FontSize |
32 |
字体大小;FontFamily 用于自定义字体 |
| TypingSpeed |
50ms |
字符输入延迟(可用 Type@Xms 覆盖) |
| Theme |
- |
使用 vhs themes 列出所有可用主题 |
| Padding |
40 |
边框间距;还可设置 LetterSpacing/LineHeight |
时序与模式
3-2-1 规则:重要命令后暂停 3 秒,操作间暂停 2 秒,过渡暂停 1 秒
- 干净启动:Hide → Type "clear" → Enter → Show
- 命令等待:Type → Enter → Wait → Sleep 2s
- 快速隐藏:Type@10ms "setup command"
- ASCII 预览:Output demo.ascii 用于即时测试
输出格式
| 格式 |
使用场景 |
.gif |
网页/README(通用格式) |
.mp4/.webm |
社交媒体/现代浏览器 |
.ascii |
预览/测试(即时生成,无需 ffmpeg) |
frames/ |
PNG 序列帧,用于后期处理 |
快速修复
| 问题 |
解决方案 |
| 命令执行过快 |
在 Enter 后添加 Wait + Sleep 2s |
| 终端显示混乱 |
开头使用 Hide → clear → Show |
| 节奏不一致 |
遵循 3-2-1 时序规则 |
CLI 命令
vhs demo.tape # 运行磁带文件
vhs themes # 列出所有可用主题
vhs manual # 显示完整命令参考
参考文档