1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
|
== snap boot grid=120x67 cursor=7,3
|Newcol Joincol Find Grep Help Changelog Tutor Dump Themes Config Debug Exit
| New Tty Find Grep Joincol Delcol
| /tmp/pardes-snap/builtins/cwd/notes.txt Save Tty Collapse Del
| 1 line 1
| 2 line 2
| 3 line 3
| 4 line 4
| 5 line 5
| 6 line 6
| 7
== snap window-group grid=120x67 cursor=7,10
|9: /tmp/pardes-snap/builtins/cwd/+Help Save Tty Collapse Del
|10: 1 pardes builtins under SPC w
|11: 2
|12: 3 SPC w h Left C-w h, C-w left
|13: 4 SPC w j Down C-w j, C-w down
|14: 5 SPC w k Up C-w k, C-w up
|15: 6 SPC w l Right C-w l, C-w right
|16: 7
== snap docs-group grid=120x67 cursor=7,10
|10: 1 pardes builtins under SPC h
|12: 3 SPC h c Changelog topbar
|13: 4 SPC h m Messages
|14: 5 SPC h t Tutor topbar
|15: 6
|16:
== snap tutor-from-index grid=120x67 cursor=7,16
|10: 1 pardes builtins under SPC h Tutor
|15: /tmp/pardes-snap/builtins/cwd/+Tutor Save Tty Collapse Del
|16: 1
|17: 2 PARDES TUTOR
|18: 3 tmux + vi + acme, from scratch.
|19: 4
|20: 5 The model is acme's: EVERYTHING is text, editable and executable
|21: 6 the same way. Modal editing (helix-style) lives on top of that.
|22: 7 Press j until you reach part 1.
|23: 8
|24: 9 The lessons follow the guide (docs/typ/guide.typ, the "Guide"
|25: 10 chapter of the pardes book), and each ends by naming its section.
|26: 11
|27: 12 Words written in backticks, like `Save`, are builtins: type one in
|28: 13 any tag and middle-click it. Lines starting with "| " are tags as
|29: 14 pardes draws them, words only.
|30: 15
|31: 16 PRACTICE BLOCKS (part 9): the "# keys:" line lists keystrokes
|32: 17 (space-separated; esc/enter/bs are special, the rest type each char).
|33: 18 The lines under "# before" are what you practise on; "# after" is
|34: 19 what you should end up with. Nothing runs them. What pins the real
|35: 20 behaviour is `zig build hxdiff`, which replays test/hxcases against
|36: 21 goldens recorded from a real helix, and `zig build hxparity`, which
|37: 22 runs each case in a file pane and in a shell and demands they agree.
|38: 23
|39: 24
|40: 25 =================================================================
|41: 26 = PART 1 — MODES =
|42: 27 =================================================================
|43: 28
|44: 29 A pane is text on screen, a tag over a body. Some panes are live
|45: 30 terminals; most are text you move a cursor over. Each pane has its
|46: 31 own mode and keeps it while you are elsewhere. The BOX at the left
|47: 32 of a pane's tag shows it:
|48: 33
|49: 34 NORMAL keys move and select. The box is BLANK.
|50: 35 ^ INSERT keys type text at the cursor.
|51: 36 $ RAW keys go straight to the program (terminals only).
|52: 37
|53: 38 Where each pane starts: a file or a PDF in NORMAL; a terminal from
|54: 39 `Tty` in RAW, one from Alt-n in NORMAL; a command pane in RAW while
|55: 40 its command runs. A bare `pardes` starts a shell in RAW with an
|56: 41 empty text pane under it; `pardes FILE` starts on the file.
|57: 42
|58: 43 Esc and Shift-Esc, by mode:
|59: 44
|60: 45 NORMAL Esc back to the previous pane (`Last`, SPC j j)
|61: 46 Shift-Esc the same
|62: 47 INSERT Esc back to NORMAL
|63: 48 Shift-Esc out of INSERT and back to the previous pane
|64: 49 RAW Esc goes to the program, except at an idle,
|65: 50 EMPTY shell prompt: back to the previous pane
|66: 51 Shift-Esc always back to the previous pane
|