summaryrefslogtreecommitdiff
path: root/docs/typ/guide.typ
diff options
context:
space:
mode:
Diffstat (limited to 'docs/typ/guide.typ')
-rw-r--r--docs/typ/guide.typ58
1 files changed, 39 insertions, 19 deletions
diff --git a/docs/typ/guide.typ b/docs/typ/guide.typ
index 087291a8..a7320865 100644
--- a/docs/typ/guide.typ
+++ b/docs/typ/guide.typ
@@ -14,12 +14,13 @@ at it. The keys are helix's, in modes.
#pairs(
[tag], [the line of words over a pane, a column or the screen; every word in it can be clicked],
[the pane with the keyboard], [where your keys go; one pane at a time],
+ [the session's directory], [where pardes started, or the directory `pardes DIR` named; workspace and column tags run there],
[active column], [where the next new pane goes (below)],
[command pane], [a terminal that runs one command line and shows its output],
- [scratch], [a pane of text with no file yet, `+New`],
- [listing], [a pane of places to visit: `+Search`, Recent, Jumplist, Themes],
- [message row], [the line where pardes says what happened],
- [grip], [the box left of a pane's tag: drag it, and it marks unsaved text],
+ [`+` names], [panes pardes makes, named in their directory: `+New` a scratch (text with no file yet), `+Search` a listing of places, `+Pager` paged text, `+Errors` output, `+Unsaved` the panes holding unsaved text],
+ [serial], [a pane's number, never reused: the `3` in `@p3:12` and in 9P paths],
+ [message row], [the line where pardes says what happened, and asks: answer a prompt (a search, Save's path) with #key("Enter"), cancel it with #key("Esc")],
+ [the box], [left of a pane's tag: drag it to move or resize the pane; it shows the mode, and marks unsaved text (`*`, or filled in the window)],
)
= Modes <modes>
@@ -44,15 +45,20 @@ its prompts are hidden and its text is a page to move over and copy from.
[a PDF], [#key("Esc"): clears the selection and the search highlights. #key("Shift-Esc"): back to the previous pane.],
)
-"The previous pane" is the last other pane on the jump list, else the next
-pane down its column. In raw mode every key but #key("Ctrl-b"), Esc and the
+Unlike helix, #key("Esc") in normal mode leaves the pane: it is how you go
+back. #key("Shift-Esc") needs the kitty keyboard protocol or the GUI;
+elsewhere it is a plain Esc. "The previous pane" is the last other pane on
+the jump list, else the next pane down its column. #key("Ctrl-w") then
+#keys("h", "j", "k", "l") moves the keyboard to the pane left, below,
+above or right; #keys("Ctrl-o", "Ctrl-i") walk back and forward through the
+places you have jumped to, the jump list. In raw mode every key but #key("Ctrl-b"), Esc and the
paste chords goes to the program, so #key("Ctrl-w") and #key("Alt-n") need
you out of raw mode first.
= The mouse <mouse>
#pairs(
- btn("B1"), [select; a click puts the cursor there and gives the pane the keyboard. In a tag it starts typing, in insert mode. A double click selects the word, the line, or up to the matching bracket or quote.],
+ btn("B1"), [select; a click puts the cursor there and gives the pane the keyboard. In a tag it starts typing, in insert mode. A double click selects the word; at a line's start or end, the line; just inside a bracket or quote, up to its match.],
btn("B2"), [execute: a builtin word runs, anything else is a shell line.],
btn("B3"), [look: open the file, address, directory or URL, else find the word's next place.],
)
@@ -61,8 +67,13 @@ A #btn("B2") or #btn("B3") click with no drag takes the word under it: the
run of letters, digits and `. - + / : @ _ ~`, a trailing `:` dropped. So
#btn("B3") on `src/bar.c:12:5:` in a compiler's error opens `src/bar.c` at
line 12, column 5. Drag to say exactly what you mean. #key("Enter") and
-#key("Tab") in normal mode look and execute. The chords are on the
-cheatsheet.
+#key("Tab") in normal mode look and execute.
+
+Hold #btn("B1") and click #btn("B2") to cut the selection, #btn("B3") to
+paste over it, both one after the other to copy. #key("y") yanks and
+#key("p") pastes after (a line yanked with #key("x") #key("y") goes in as a
+new line below), through registers every pane shares; #key("SPC y") and
+#key("SPC p") use the system clipboard.
= Tags <tags>
@@ -71,7 +82,9 @@ cheatsheet.
#tag("Save Tty Collapse Del", path: "/home/me/notes.txt")
A tag is text with undo: type a word into it and click it, or delete the
-defaults. #key(":") moves the keyboard between a body and its tag. The path
+defaults. #key(":") moves the keyboard to the tag, onto its #word("Save")
+the first time, in normal mode (#key("Tab") runs it), and back. Any word
+runs from any tag: #word("Exit") in a pane's tag quits too. The path
at the start of a pane's tag is computed: typing into it drafts a new name,
#key("Enter") confirms and the next #word("Save") writes there.
#word("Collapse") folds a pane to its tag. Drag the grip up or down to
@@ -89,8 +102,9 @@ the #word("Shell") setting's `-c`. Where depends on where you clicked:
[the workspace tag], [a command pane in the session's directory, in the last column],
)
-The keyboard stays where it was. A command pane's tag says `running`, then
-`exit N`:
+The keyboard stays where it was. A file's tag runs in the file's directory,
+so run project commands (`make`) from a column or the workspace tag, or a
+shell. A command pane's tag says `running`, then `exit N`:
#tag("Kill Save Collapse Del", path: "/home/me/src (make) exit 0")
@@ -116,8 +130,10 @@ quits pardes.
= Looking <looking>
#btn("B3") (or #key("Enter")) on a path opens it, or goes to the pane that
-already shows it; `file:12` goes to line 12, and the other address forms
-are on the cheatsheet. A directory types `ls` into a terminal idle there,
+already shows it; `file:12` goes to line 12, `file:/re/` to the next
+match of `re`, and the other address forms are on the cheatsheet.
+#key("/"), text and #key("Enter") list the lines holding it in a `+Search`
+and go to the first; #keys("n", "N") step through the rest. A directory types `ls` into a terminal idle there,
else opens one there. A URL opens in the browser. A relative path is
looked for in the looking pane's directory, then in the directory of each
pane on the jump list, most recent first.
@@ -133,15 +149,19 @@ A pane with unsaved text is marked on its grip. #word("Del") on it refuses
once: the message row says `1 unsaved pane — Del again to discard` and the
pane is listed in `+Unsaved`. The same #word("Del") again discards it.
#word("Exit"), #word("Restore") and #word("Delcol") refuse once the same
-way. From the keyboard (#key("SPC d")), #word("Del") between two panes
-also asks which takes its rows: #key("k") above, #key("j") below.
+way. A pane with nothing unsaved closes at once. From the keyboard
+(#key("SPC d")), #word("Del") between two panes also asks which takes its
+rows: #key("k") above, #key("j") below. To quit, click #word("Exit") in the
+workspace tag with #btn("B2").
= Terminals <terminals>
#tag("Tty+bash Save Mode Filter Collapse Del", path: "/home/me/src")
-- `Tty+bash` opens another terminal on that shell; bare #word("Tty") runs
- the #word("Shell") setting.
+- #word("Tty") opens a terminal in the pane's directory, #key("Alt-n") one in
+ the session's directory; `Tty+bash` picks the shell.
+- #word("Del") closes a terminal and its shell at once, running or not, and
+ a shell that exits closes its pane.
- #word("Save") writes the scrollback to a path it asks for.
- #word("Filter") maps the program's colours through the theme.
- #word("Petscii") draws a program's images as glyph art instead of pixels.
@@ -201,7 +221,7 @@ sees the same screen.
```
Theme atelier
Shell zsh
-Placement pardes
+# Placement acme is the default; Placement pardes picks the other rules
```
#word("DumpConfig") opens every live setting as the line that sets it.