vhs - 非常好用的命令行录制工具

278 阅读1分钟

github.com/charmbracel…

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

ttttttt.gif

该工具在做一些演示,或者写文章的时候非常好用,能轻松帮你录制需要的一些命令行操作,而且生成的 gif 很清晰,可以通过 Sleep 的方式控制每一个命令的间隔停顿时间,感兴趣的小伙伴可以尝试一下。