docs: refresh README keys (selection, copy/paste; drop terminal-config keys); add glint -h help
cff0fb479a3bb11cb778afdbb82e1df257626c77
humdrum <me@humdrum.me> · 2026-06-29 09:19
parent efa87207
docs: refresh README keys (selection, copy/paste; drop terminal-config keys); add glint -h help - README keys table updated: adds Shift-arrow selection and Ctrl+C/X/V copy/cut/paste, lists Home/End; removes the Cmd+Delete terminal-mapping note so only out-of-the-box shortcuts are documented. - glint -h / --h / -help / --help print a full reference of commands and editor keys (handled before flag parsing; --version unchanged).
2 files changed
README.md +6 −2
@@ -32,6 +32,7 @@ glint -d # browse the daily-notes folder
glint -v # fuzzy picker over your vault, from anywhere
glint -i # fuzzy picker over your inbox
glint -c # interactive config walkthrough
+glint -h # help: all commands and keys
glint --version # print version
```
@@ -43,11 +44,14 @@
| Key | Action |
| --- | --- |
| type / arrows / `Enter` / `Backspace` / `Del` | edit and move (Up/Down move by visual line) |
-| mouse wheel | scroll the view (hold `Option`/`Shift` to select text while mouse mode is on) |
| mouse click | move the cursor |
+| mouse wheel | scroll the view |
+| `Home` / `End` | start / end of line |
+| `Shift`+arrows · `Shift+Home/End` | select text (`Ctrl+Shift+←/→` selects by word) |
+| `Ctrl+C` / `Ctrl+X` / `Ctrl+V` | copy / cut / paste (system clipboard) |
| `Alt+←` / `Alt+→` | move by word (also `Alt+b` / `Alt+f`) |
| `Alt+Backspace` / `Ctrl+W` | delete the word before the cursor (`Alt+d` deletes the word after) |
-| `Ctrl+U` / `Ctrl+K` | delete to start / end of line (map `Cmd+Delete`→`Ctrl+U` in your terminal) |
+| `Ctrl+U` / `Ctrl+K` | delete to start / end of line |
| `Ctrl+S` | save (an unnamed buffer prompts for a name → inbox) |
| `Ctrl+P` | toggle the Glamour read preview |
| `Ctrl+F` | fuzzy file picker (with live preview) |
main.go +49 −4
@@ -26,11 +26,56 @@ // version is the build version, overridden at release time via
// -ldflags "-X main.version=<v>" (the Homebrew formula sets it).
var version = "dev"
+const helpText = `glint — a modeless terminal markdown editor
+
+USAGE
+ glint [file] open a file, or the fuzzy picker when no file is given
+ glint <command>
+
+COMMANDS (each takes a short letter or the full word, one or two dashes:
+ -n / --n / -new / --new all work)
+ -n, --new [name] new note in the current directory
+ combine with -i or -v to target the inbox or vault
+ -t, --today open today's daily note (in the vault)
+ -d, --daily browse the daily-notes folder
+ -v, --vault fuzzy picker over your vault, from anywhere
+ -i, --inbox fuzzy picker over your inbox
+ -c, --config interactive setup walkthrough (writes the config file)
+ -h, --help show this help
+ --version print the version
+
+EDITOR KEYS
+ Ctrl+S save (an unnamed buffer prompts for a name)
+ Ctrl+P toggle the read preview
+ Ctrl+F fuzzy file picker
+ Ctrl+D today's daily note
+ Ctrl+N new note in the current directory
+ Ctrl+B new note in the inbox
+ Ctrl+T cycle theme (flexoki-light / flexoki-dark / charm)
+ Ctrl+C / Ctrl+X / Ctrl+V copy / cut / paste (system clipboard)
+ Shift+arrows select text (Ctrl+Shift+left/right by word)
+ Alt+left / Alt+right move by word
+ Ctrl+U / Ctrl+K delete to start / end of line
+ Ctrl+W delete the word before the cursor
+ Ctrl+Q quit (press twice if there are unsaved changes)
+ Esc back to the editor
+
+CONFIG
+ ~/.config/glint/config.toml (run 'glint -c' to set it up)
+`
+
func main() {
- // Version is the one long-only flag (-v means --vault).
- if len(os.Args) > 1 && (os.Args[1] == "--version" || os.Args[1] == "-version") {
- fmt.Println("glint", version)
- return
+ // Help and version short-circuit before flag parsing (-v means --vault, so
+ // version is long-only).
+ if len(os.Args) > 1 {
+ switch os.Args[1] {
+ case "-h", "--h", "-help", "--help":
+ fmt.Print(helpText)
+ return
+ case "--version", "-version":
+ fmt.Println("glint", version)
+ return
+ }
}
cfg, err := config.Load()