VHS(1)

NAME
vhs - Run a given tape file and generates its outputs.

SYNOPSIS
vhs [options...] [argument...]

DESCRIPTION
VHS lets you write terminal GIFs as code.

VHS reads .tape files and renders GIFs (videos).

A tape file is a script made up of commands describing what actions to perform in the render.

The following is a list of all possible commands in VHS:

    •   Output <path>.(gif|webm|mp4)

    •   Require <program>

    •   Set <setting> <value>

    •   Sleep <time>

    •   Type "<string>"

    •   Ctrl [+Alt][+Shift]+<char>

    •   Backspace [repeat]

    •   Delete [repeat]

    •   Insert [repeat]

    •   Down [repeat]

    •   Enter [repeat]

    •   Left [repeat]

    •   Right [repeat]

    •   Tab [repeat]

    •   Up [repeat]

    •   PageUp [repeat]

    •   PageDown [repeat]

    •   ScrollUp [repeat]

    •   ScrollDown [repeat]

    •   Hide

    •   Show

    •   Wait[+Screen][@<timeout>] /<regexp>/

    •   Escape

    •   Alt+<key>

    •   Space [repeat]

    •   Source <path>.tape

    •   Screenshot <path>.png

    •   Copy "<string>"

    •   Paste

OPTIONS

-o, --output
    file name(s) of video output

-p, --publish
    publish your GIF to vhs.charm.sh and get a shareable URL

-q, --quiet
    quiet do not log messages. If publish flag is provided, it will log shareable URL

COMMANDS

help [command]
    Help about any command

new <name>
    Create a new tape file with example tape file contents and documentation

publish <gif>
    Publish your GIF to vhs.charm.sh and get a shareable URL

record
    Create a new tape file by recording your actions

OPTIONS
    -s, --shell shell for recording

serve
    Start the VHS SSH server

themes
    List all the available themes, one per line

OPTIONS
    --markdown output as markdown

validate <file>...
    Validate a glob file path and parses all the files to ensure they are valid without running them.

OUTPUT
The Output command instructs VHS where to save the output of the recording.

File names with the extension .gif, .webm, .mp4 will have the respective file types.

SETTINGS
The Set command allows VHS to adjust settings in the terminal, such as fonts, dimensions, and themes.

The following is a list of all possible setting commands in VHS:

    •   Set Shell <string>

    •   Set FontSize <number>

    •   Set FontFamily <string>

    •   Set Height <number>

    •   Set Width <number>

    •   Set LetterSpacing <float>

    •   Set LineHeight <float>

    •   Set TypingSpeed <time>

    •   Set Theme <json|string>

    •   Set Padding <number>

    •   Set Framerate <number>

    •   Set PlaybackSpeed <float>

    •   Set WaitTimeout <time>

    •   Set WaitPattern <regexp>

BUGS
See GitHub Issues: <https://github.com/charmbracelet/vhs/issues>

AUTHOR
Charm <vt100@charm.sh>

COPYRIGHT
(C) 2021-2022 Charmbracelet, Inc.

Released under MIT license.