vhs 是一款非常好用的命令行录制工具。可以将需要运行的命令编写到 xx.tape 配置文件中,通过 vhs 命令行工具,读取该配置文件,工具会在命令终端上逐个执行命令,并将命令执行的完整过程录制下来,生成一个 gif 文件。
installation
macOS
brew install charmbracelet/tap/vhs ffmpeg
brew install ttyd --HEAD
macOS (via MacPorts)
sudo port install vhs
Arch Linux (btw)
yay -S vhs-bin
Nix
nix-env -iA nixpkgs.vhs
Debian/Ubuntu
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://repo.charm.sh/apt/gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/charm.gpg
echo "deb [signed-by=/etc/apt/keyrings/charm.gpg] https://repo.charm.sh/apt/ * *" | sudo tee /etc/apt/sources.list.d/charm.list
# Install ttyd from https://github.com/tsl0922/ttyd/releases
sudo apt update && sudo apt install vhs ffmpeg
Fedora/RHEL
echo '[charm]
name=Charm
baseurl=https://repo.charm.sh/yum/
enabled=1
gpgcheck=1
gpgkey=https://repo.charm.sh/yum/gpg.key' | sudo tee /etc/yum.repos.d/charm.repo
# Install ttyd from https://github.com/tsl0922/ttyd/releases
sudo yum install vhs ffmpeg
Void Linux
sudo xbps-install vhs
Windows
scoop install vhs
usage
编辑 test.tape 文件
Output output2.gif # 输出文件名
Set Padding 20 # 设置 terminal 的窗口大小,字体大小
Set FontSize 16
Set Height 600
Type "cd $HOME" # 在 terminal 上输入的命令,Enter 回车,Sleep 等待
Enter
Sleep 1s
Type "ls -l"
Enter
Sleep 3s
Type "cd Documents"
Enter
Sleep 1s
Type "pwd"
Enter
Sleep 3s
通过如下方式,可以生成 output2.gif 文件
vhs < test.tape # 生成 output2.gif
该工具在做一些演示,或者写文章的时候非常好用,能轻松帮你录制需要的一些命令行操作,而且生成的 gif 很清晰,可以通过 Sleep 的方式控制每一个命令的间隔停顿时间,感兴趣的小伙伴可以尝试一下。