Navigation & Bookmarks
Finding your way around eighty million lines needs more than a scrollbar.
Bookmarks
⇧⌘B toggles a bookmark on the current line; ⌥⌘B and ⌥⇧⌘B walk forward and back (wrapping at the ends). Bookmarks show as gutter badges.
Bookmarks in the gutter, marker highlights in the text. Both survive quitting the app.
- Bookmark Lines Matching…: bookmark every line matching a pattern in one pass.
- Bookmark All (find) and Bookmark All Filtered (filter) integrate with search.
- Extract bookmarked / non-bookmarked lines to a new document.
- Bookmarks persist across sessions and re-anchor by content: if the file changed on disk while closed, each bookmark finds its line again by matching the line's content hash, and Caxton reports anything it had to reposition or drop. In the benchmark suite, 5,000 bookmarks on a 5-million-line file round-trip exactly.
Markers
⇧⌘M manages markers: persistent pattern highlights. Select a word, mark it with one of six colors, and every occurrence stays highlighted until you remove the marker. Markers are per-document and survive relaunch.
Quick Open
⇧⌘O fuzzy-searches your open tabs, recent files, and every file your named workspaces reference, with size, modified time, and path on each row. Picking a file that is already open switches to its window instead of reopening it. The candidate set is exactly the files Caxton already knows about: no folder indexing, ever.
Open by name from anywhere. Files already open switch instead of reopening.
Command palette
⇧⌘P opens the command palette: fuzzy-search every menu command and recent file from the keyboard.
Type a few letters, hit Return. Every command, no mouse.
Go to line & jump
- ⌘L: one field, four targets. A plain number goes to that line (instant at any file size);
50%goes to the middle of the file by bytes, so it works even while a huge file is still indexing;b1234lands the caret on an exact byte, snapped so it never splits a character;r1234goes to a record when the document has a record index, and falls back to lines with a banner when it doesn't. In the grid, the same shortcut takesroworrow:column. - ⌘J: jump back to the selection.
Folding
Indented regions and brace pairs fold. Chevrons in the gutter mark foldable anchors (▾) and collapsed regions (▸); a folded line carries a “⋯ N lines” pill so hidden content is never silent, and the status bar counts active folds (click the badge to unfold everything). ⌥⌘← folds the region at the cursor, ⌥⌘→ unfolds, and Fold All (⌥⇧⌘←) runs as a cancellable background job on big files. In files with a syntax grammar, brace pairs fold; braces inside strings and comments are ignored, using the same lexer that highlights them. Everywhere else, indentation decides.
Two collapsed regions: chevrons in the gutter, hidden-line counts inline.
Folds are view state: edits that touch a folded region unfold it rather than letting hidden bytes change, search hits and Go To targets inside a fold open it automatically with a banner, and Replace All treats folded content as normal text. Entering the CSV grid clears fold state.
Change markers
Lines that differ from the last save carry an accent bar in the gutter; a deletion leaves a tick at the seam. ⌃⌘↓ and ⌃⌘↑ jump between changes, and View ▸ Revert Selected Change restores the original bytes for the change under the cursor as one undo step. The markers come straight from the document model (no diff pass, no shadow copy) and clear on save. Rows moved by a CSV sort are marked as changed but refuse revert (there is no single home to restore them to; undo covers that).
Edited lines bar, deletions tick. ⌃⌘↑↓ walks the changes.
Windows and tabs
- Drag a tab within the strip to reorder, out of the strip to give it its own window (Window ▸ Move Tab to New Window does the same), or onto another window's tab row to move it there.
- Pin a tab from its right-click menu: pinned tabs lead the row behind a pin glyph and lose their close button: the accidental-close guard. Pins persist with the session.
- ⇧⌘T reopens the last closed tab with its cursor, scroll position, mode, and pin intact.
Workspaces and Jobs
- File ▸ Workspaces: save the current set of open documents as a named workspace and reopen the whole set in one step. Ideal for a recurring investigation's log + CSV + notes combination. Workspaces remember their common folder: a project that moves or mounts elsewhere still opens, and a member file that moved inside the project is found again by name, size, and modified time (the search is bounded and can never crawl your disk).
- Export / Import: a workspace exports as a JSON file you can drop in the project folder or send to another Mac; importing resolves the files against wherever the definition sits first.
- Jobs (⌥⌘J): the background-work panel: long saves, sorts, and extracts report progress here instead of blocking the editor.
Minimap
The minimap gives a full-document overview with a draggable viewport, on documents up to 500 MB. Toggle it from the View menu; it steps aside automatically in the CSV grid and on single-line documents where it has nothing useful to show.