diff options
Diffstat (limited to 'docs/typ/guide.typ')
| -rw-r--r-- | docs/typ/guide.typ | 58 |
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. |
