The standard Linux watch utility has been a cornerstone of terminal monitoring for decades, executing commands repeatedly at fixed intervals. However, standard watch lacks the ability to scroll backwards through past command outputs, inspect historical fluctuations, or export diff sequences. The viddy utility modernises repetitive command execution by incorporating a built-in time-machine pager, granular text diffing, and keyboard-driven history navigation.
What Is Viddy and Why Replace Traditional watch?
Written in Go, viddy addresses the core limitations of traditional command-loop utilities:
- Time Machine History: Pauses live updates and lets you scrub backwards frame-by-frame through previous command executions to identify exactly when a metric spiked or dropped.
- Precise Diff Highlighting: Visualises changes between successive executions using colour-coded additions and removals.
- Precise Timing: Supports sub-second intervals and drift-corrected timers to maintain exact intervals.
- Vim-Style Keybindings: Search output using
/, navigate history usinghandl, and toggle full-screen diffs effortlessly.
Installing Viddy on Linux
You can install viddy via native distribution packages, Homebrew on Linux, or pre-compiled binaries.
Installing on Arch Linux
Arch Linux users can install viddy directly from the official repositories:
sudo pacman -S viddy
Installing on Ubuntu and Debian
On Debian, Ubuntu, and Linux Mint, download and install the official Debian package from GitHub releases:
VIDDY_VERSION=$(curl -s https://api.github.com/repos/sachaos/viddy/releases/latest | grep '"tag_name":' | sed -E 's/.*"v([^"]+)".*/\1/')
curl -LO "https://github.com/sachaos/viddy/releases/download/v${VIDDY_VERSION}/viddy_${VIDDY_VERSION}_linux_x86_64.tar.gz"
tar -xzf "viddy_${VIDDY_VERSION}_linux_x86_64.tar.gz"
sudo install -m 755 viddy /usr/local/bin/
rm -f "viddy_${VIDDY_VERSION}_linux_x86_64.tar.gz" viddy
Installing via Go
If you have Go installed on your workstation, install the latest release directly:
go install github.com/sachaos/viddy@latest
Running Commands and Monitoring Output
To run a command with viddy, supply the target binary and arguments just as you would with standard watch:
viddy -n 2 ls -l /var/log
This command runs ls -l /var/log every 2 seconds, displaying the execution interval and elapsed execution duration in the top status bar.
Using the Time-Machine Feature to Inspect Historical Output
When an error occurs or a process disappears from view, you can immediately halt live execution and scrub backward in time:
- Press Space while
viddyis running. Live polling pauses immediately, entering Time Machine mode. - Press the Left Arrow (or h) to step backwards through past execution snapshots.
- Press the Right Arrow (or l) to step forward toward the most recent snapshot.
- Use Shift + Left Arrow to skip backward 10 snapshots at once.
- Press Space again to unpause and resume live command polling.
Enabling Diff Mode and Searching Text
To highlight character-level changes across successive iterations, press d while viddy is running, or launch with the -d flag:
viddy -d -n 1 netstat -tuln
Changed network ports or socket connections will flash in highlighted green and red ANSI colours. To search for specific IP addresses or service names within the buffer, press /, enter your query, and press Enter to jump between occurrences.