summaryrefslogtreecommitdiff
path: root/src/tutor.txt
diff options
context:
space:
mode:
authorGabriel Schneider <[email protected]>2026-08-24 22:18:24 -0300
committerGabriel Schneider <[email protected]>2026-08-25 09:42:07 -0300
commit08eadb3b46dc70a297ff89308dd1cd26237785d6 (patch)
tree66152ea18a3639dd216b6e658d9cd5503201afdc /src/tutor.txt
parentc3d0b84b7961ae26d2d654e7120821cc2d83d20d (diff)
downloadpardes-08eadb3b46dc70a297ff89308dd1cd26237785d6.tar.gz
pardes-08eadb3b46dc70a297ff89308dd1cd26237785d6.zip
syntax + pdf_pane + file_pane: prose grammars paint, pdf Esc cancels, gj/gk walk wrapped rows
Diffstat (limited to 'src/tutor.txt')
-rw-r--r--src/tutor.txt28
1 files changed, 22 insertions, 6 deletions
diff --git a/src/tutor.txt b/src/tutor.txt
index d6b82713..475cd04a 100644
--- a/src/tutor.txt
+++ b/src/tutor.txt
@@ -547,7 +547,7 @@ Zabcde
gg first line ge LAST line (what vim spells G)
Ngg line N Ng| column N
gh line start gl line end gs first non-blank
- gj line down gk line up
+ gj VISUAL line down gk VISUAL line up
gt the view's top row gc its middle gb its bottom
(top and bottom are scrolloff-clamped: three rows in, so they
land where the cursor could have scrolled to anyway)
@@ -557,6 +557,13 @@ Zabcde
`ge` is the key that takes you to the last line — its START, the way
`gg` takes you to the first line's.
+ `gj`/`gk` are the VISUAL pair: with soft wrap on (`SPC t w`, part 4.1,
+ on to start) one long line is drawn as several rows, and these two walk
+ those rows — the automatic breaks, not the newlines — keeping the column
+ they had inside the row. Plain `j`/`k` stay whole FILE lines, so on a
+ wrapped paragraph `j` jumps past every row of it and `gj` steps one. With
+ wrap off a line is one row and the two pairs are the same key.
+
Five more gotos live under the same prefix — gd gD gy gi gr — and
they belong to the language backend, in part 4.2.
@@ -841,7 +848,10 @@ abc
where SPC belongs to the shell)
Esc hop to the pane you were in before this one, so
held down it alternates between two (body normal
- mode; the same builtin as SPC j j)
+ mode; the same builtin as SPC j j). A PDF pane is the
+ one exception — there Esc cancels the selection and
+ the search highlights and stays in the document, and
+ Shift-Esc is the hop out (part 4.1)
Alt-n new terminal below the active one
Alt-c move the active pane into a fresh column — any pane,
not just a terminal, and a no-op if it is alone in
@@ -974,7 +984,10 @@ abc
The modal keys work on the PAGE rather than on a cursor: j/k scroll,
Ctrl-d/u and Ctrl-f/b page, `Ngg` goes to page N, `ge` is the last
page. `/` searches the document's real text through MuPDF and n/N walk
- the hits.
+ the hits. Esc is the document's own CANCEL — it drops the selection and
+ the search highlights and leaves you where you were reading — so the
+ hop to the pane before this one is Shift-Esc here, the same chord that
+ leaves a raw tty.
The rest depends on the shell being able to place real PIXELS. Where
it can, drag with the left button to select text (SPC y takes it), and
@@ -1194,7 +1207,9 @@ abc
k off the TOPMOST tagline = the top bar, j back down)
zt zz zb zj zk Ctrl-d/u Ctrl-f/b Ctrl-o/i Ctrl-w hjkl
Alt-n Alt-c
- Esc = the pane you were in before this one (body normal)
+ Esc = the pane you were in before this one (body normal;
+ in a PDF it cancels that document's own selection and
+ search highlights instead, and Shift-Esc hops)
n/N = select the next/prev look-able text, across panes
(a ring); Enter opens what you landed on
SPC = the leader: a key path runs a builtin (SPC ? lists
@@ -1203,8 +1218,9 @@ abc
SPC w hjkl focus, SPC j j the pane before this one,
SPC t * the toggles, SPC l * the language backend)
NOT TEXT: .pdf = the real document through MuPDF — j/k scrolls it,
- `/` searches it, PdfFit/PdfTint/PdfSections sit in
- its own tag
+ `/` searches it, Esc cancels selection+highlights and
+ Shift-Esc leaves the pane, PdfFit/PdfTint/PdfSections
+ sit in its own tag
images = pixels where the shell has them, petscii glyphs
where it does not (SPC t p/l/a)
LANGUAGE: ZLS, compiled in, .zig only, nothing running in the