Tutor
PARDES — a quick tutor
tmux + helix + acme, from scratch.
The acme model: EVERYTHING is text — editable and
executable the same way. A pane is a live terminal, a file,
an image or a PDF; most of them are text you move a cursor
over. Helix-style modal editing sits on top.
THREE MODES — one character in the box at the pane's
top-left corner:
(blank) NORMAL keys move and edit.
^ INSERT keys type at the cursor.
$ TTY keys go to the shell. (terminals only)
A bare `pardes` opens one shell already in TTY — there is
nothing to edit yet. Give it a file or a directory and you
start in NORMAL.
── THE MOUSE (acme) ──────────────────────────────
L select also focuses the pane + pins the cursor.
M execute run a builtin or send text to the shell.
R look open a path, including a :line suffix.
Middle-drag selects and executes. Or select with v / x,
then Tab = execute or Enter = look.
Held-button chords:
1-2 hold L, tap M: cut into the yank register.
1-3 hold L, tap R: paste the register.
2-1 hold M, tap L: execute with the L selection
as the command's argument.
── WEB TOUCH — one finger does both jobs ─────────
tap LOOK, exactly like R.
drag natural scroll after a small movement threshold.
Crossing the threshold commits to scrolling, so releasing
never also LOOKs. The published build has no host filesystem
or ptys: LOOK opens URLs or read-only Pardes .zig sources
selected by Git and embedded when the web build was made.
The launcher is a real Pardes TTY dump captured after running
git ls-files '*.zig'. Every listed path opens, and opened source
panes use tree-sitter syntax colors. Try tapping build.zig.
A touch beginning on a tagline or near a pane separator instead
becomes a left-mouse layout gesture and never scrolls. The touch
circles/trails and click flash are visible only with Debug on.
── THE TTY — a terminal is just a pane ───────────
Native terminal panes take the same modal keys as files.
Outside TTY the prompts are stripped, but the command you
typed at each one stays — that is the part worth reading.
Ctrl-b toggles the live shell and lands its cursor where you
navigated. Esc from a body in normal mode hops to the pane
you were in before this one, so held down it alternates
between two. Web terminal panes replay recorded state only.
── THE KEYS (helix-style) ────────────────────────
move h j k l w b e 0 $ ^ gg ge f F t T
count a leading number: 3l, 2fo, 3>
insert i a I A o O
select x line-first (grows down) v chars % all
cursors s / S cut a selection into many by regex, live
as you type; C copies one down; , keeps one
edit d delete c change y yank p paste R replace
J join > < indent ~ case Ctrl-c comment
pairs mi( ma" ms) md{ mm — textobjects and surrounds
step ]p [p paragraph ]d [d diagnostic
act Enter look Tab execute u undo U redo
filter | pipes every selection through /bin/sh -c
panes Ctrl-w h/j/k/l Alt-n term Alt-c column
leader SPC ? lists every builtin and the keys for it
A motion SELECTS what it crosses. That is why there is no
verb+noun grammar — `wd` is what vim spells `dw` — and why
`i` after `w` types at the start of what `w` just selected.
Bare `G` does nothing; `ge` goes to the last line.
vs Helix: selection is LINE-first (x); `/` is a plain
substring search and the regex lives on s and S.
vs Vim: no dw — the motion already made the selection.
Spawn the full in-app tutor: middle-click "Tutor" up top.