Stratum replaces fragile, one-directional paging workflows with a unified bidirectional content inspection engine. Regex search, live tailing, inline filtering, mark-based bookmarks, and multi-file orchestration β in a single terminal session.
Stratum ships eight core modules β each solving a different dimension of the content inspection problem.
Scroll forward with SPACE/f, backward with b. Half-screen
with d/u. Line-by-line with j/k. Go to any
line with g/G or any percentage with p. Full random
access over any stream.
Forward search with /pattern, backward with ?pattern. Repeat with
n/N. Supports POSIX, PCRE, or PCRE2 backends. Search modifiers:
^N (NOT), ^E (multi-file), ^W (wrap), ^R
(literal). All matches highlighted inline.
Type &pattern to display only lines matching your pattern. Stack multiple
filters. Use ^N to invert. Clear all filters instantly with & +
ENTER. Like grep, but bidirectional and interactive.
Set named marks with m + any letter. Jump back with ' + letter. Marks
persist across file switches within a session. Enable --save-marks for
cross-session persistence. Status column shows marked lines with -J.
Press F at end-of-file to enter live tail mode β equivalent to tail -f
but with the full Stratum search engine available. ESC-F triggers alerts when a
pattern match appears. Interrupt with ^C to resume navigation.
Open multiple files in a single session. Navigate with :n (next), :p
(previous), :x (by index). Add files on the fly with :e. Cross-file
search with ^E modifier. Marks carry across files.
Pipe any section of the file to a shell command with |. Use marks to define the
piped region. Pipe the whole file with |$. Run ad-hoc shell commands with
!. Edit the current file with v β drops into your
$EDITOR.
Enable -R for raw ANSI SGR color sequence rendering. Full support for OSC 8
hyperlinks. Customizable color themes via --use-color and -D options
for prompts, line numbers, search highlights, header rows, and more.
A fundamentally different approach to content inspection β no full file reads, no memory bloat, no waiting.
Unlike text editors, Stratum never reads the entire file before starting. It streams only the bytes needed for the current viewport. A 50GB log file opens as fast as a 50-byte file.
Stratum detects your terminal capabilities via termcap/terminfo and renders optimally β
scrolling, clearing, alternate screen support. Use -X to disable termcap
init/deinit if your terminal doesn't need it.
Configurable per-file buffer sizes with -b. Automatic buffer allocation for pipes.
Set -b -1 for unlimited buffering. Smart memory reclamation keeps resource usage
proportional to what you actually view.
Set STRATUM_OPEN and STRATUM_CLOSE to transparently decompress, decrypt, or
transform files before viewing. Supports both replacement files and input pipes (|
prefix). View compressed logs natively.
We benchmarked every pager on the market. Here's what we found.
| Capability | Stratum | more | cat | head / tail | vim (view mode) |
|---|---|---|---|---|---|
| Backward scrolling | β | Limited | β | β | β |
| Regex search | β | Forward only | β | β | β |
| Line filtering (&pattern) | β | β | β | β | β |
| Zero-preload streaming | β | β | β | Partial | β |
| Named marks / bookmarks | β | β | β | β | β |
| Live tail (F command) | β | β | β | tail -f only | β |
| Multi-file navigation | β | β | β | β | β |
| Shell pipe integration | β | β | β | β | Limited |
| No file modification risk | β | β | β | β | β |
From individual operators to enterprise fleets. Every plan includes bidirectional scrolling and line-number display.
-N)-S)-F)-e)/ and ?)-i / -I)&pattern)m / '):n / :p)|)STRATUM_OPEN)F / ESC-F)
-R)-m / -M)&pattern filter gives us the same results but I can scroll up and down, add
more filters, clear them instantly. It's interactive grep with a real UX."Navigate a real file using Stratum keybindings. Press j/k to scroll,
/ to search, & to filter, m to mark, q to
reset.
j/k to
scroll, / to search, & to filter, g/G for
top/bottom^O^N, ^O^P, ^O^O
--header option for pinned header lines and columns β
sticky context while scrolling deep files
--incsearch for incremental search β results update as you
type each character
--mouse support β scroll wheel navigation, click-to-mark,
drag to scroll
more?more is strictly forward-only β once you scroll past content, it's gone. Stratum
supports full bidirectional navigation, backward search, regex search with highlighting,
line filtering, named marks, multi-file navigation, live tail mode, and shell pipe
integration. We're also fully backward-compatible via STRATUM_COMPAT=1.
No. Stratum uses a streaming architecture that reads only what's needed for the current
viewport. Buffer size per file is configurable with -b (default 64KB). For
pipes, set -B to cap automatic buffer allocation. Set -b -1 for
unlimited buffering when memory is abundant.
Yes. Set STRATUM_SECURE=1 to disable shell commands, file editing, pipe operations,
tag navigation, and the input preprocessor. Use STRATUM_SECURE_ALLOW to selectively
re-enable specific features. Stratum can also be compiled with permanent secure mode.
Set the STRATUM_OPEN environment variable to point to a preprocessor script. For
input pipes, prefix the value with |. For example:
STRATUM_OPEN="|stratum-pipe.sh %s". Stratum will transparently decompress .gz, .bz2,
.xz, .Z files before display, without writing temp files to disk.
Absolutely. Create a lesskey source file at ~/.config/lesskey (or set the
STRATUM_KEYIN variable). Define custom command keys, line-editing keys, and
environment variables. System-wide bindings go in /usr/local/etc/syslesskey. No
binary compilation step required since v582.
Join the teams that upgraded their content navigation layer. Stratum ships everywhere a terminal runs.
We're not on there yet.
Stratum is heads-down shipping product. Follow our changelog for updates.
View Changelog