| Item | Shortcut | What it does |
| New | ⌘N | Opens a new untitled document. |
| Open… | ⌘O | Open any file. Caxton does not impose a file-size ceiling of its own; files over 300 MB get the open-mode chooser. |
| Open Folder in Sidebar… | ⌃⌘O | Opens the sidebar's File Browser on a folder. |
| Open Recent | | The files you opened lately; Clear Menu empties the list. |
| Quick Open… | ⇧⌘O | Opens the search field at the top of the window on files: open documents, recent files, workspace files and the files in the sidebar's folder; picking an open file switches to it. No folder indexing. Search Files or Commands. |
| Reopen Closed Tab | ⇧⌘T | Bring back the last closed tab with its cursor, scroll position, mode, and pin intact. |
| Workspaces | | Named sets of open files, reopened in one step. Workspaces store relative paths (portable project folders) and find members that moved by name, size, and modified time. The items are below. |
| Reopen with Encoding | | Reinterpret the file as UTF-8, UTF-8 (BOM), UTF-16 LE, UTF-16 BE, Shift-JIS, EUC-JP, GB18030, Big5, EUC-KR, Windows-1252, ISO-8859-1, Windows-1251, KOI8-R, ISO-8859-5, Windows-1250, ISO-8859-2, Windows-1254, or Windows-1257, in that order. Windows-1254 and Windows-1257 are not detected on open. When the open banner suggests an encoding, that entry is preselected and titled (suggested). Encodings. |
| Compare With… | | Side-by-side comparison against another file: aligned differences, ignore whitespace and case, copy changes left or right between open documents, and a plain-text report. |
| Close | ⌘W | Close the current tab. |
| Split File… | | The document as parts in a folder: by line count, by size cut at line ends, by a column's value, or by day in a log; the header repeated and a manifest when asked. |
| Combine Files… | | Two or more files into one new document: text files concatenated with a separator and a line-ending policy, or CSV files of one schema appended with the header once, a source column, and a schema report first. |
| Save… / Save As… | ⌘S · ⇧⌘S | Save to the current file, using a journaled in-place update or an atomic rewrite, or save to a new file. |
| Revert to Saved | | Discard unsaved changes and reload from disk (no shortcut; ⌘R belongs to CSV Fill Right). |
| Page Setup… | | The standard paper and orientation sheet. It has no shortcut: ⇧⌘P opens the command palette. |
| Print… | ⌘P | Standard macOS printing. Full-document printing up to 10 MB; beyond that, print the selection or visible range. |
| Item | Shortcut | What it does |
| Undo / Redo | ⌘Z · ⇧⌘Z | Unlimited-count history; bulk operations (Replace All, multi-cursor) are single steps. |
| Cut / Copy / Paste / Delete / Select All | ⌘X ⌘C ⌘V ⌘A | The classics. Copying more than 100 MB asks first; 2 GB is the hard cap. |
| Paste and Match Style | ⌥⇧⌘V | The standard macOS item for text fields. A Caxton document is plain text: use Paste. |
| Clipboard History… | ⇧⌘V | Everything cut or copied inside Caxton this session, searchable; pins persist. Editor-local: the system pasteboard is never monitored. |
| Paste Special… | ⌃⌥⌘V | In the CSV grid: the clipboard shaped before it lands, with its delimiter, the placement (the selection's corner, within the selection, new rows, new columns, the columns the headers name), transpose, skipped blanks, arithmetic on the cells it lands on and value transforms, with a preview. Caxton Pro. |
| Find ▸ | | The search submenu; see below. |
| Bookmarks ▸ | | The bookmarks submenu; see below. |
| Expand Selection | ⌃⇧⌘→ | Grow the selection structurally: word, token, quoted string, brackets, line, paragraph. |
| Contract Selection | ⌃⇧⌘← | Step back through the same stages exactly. |
| Select Next Occurrence | ⌘D | Select the word under the caret, then add a cursor at each next occurrence per press, wrapping around. |
| Toggle Line Comment | ⌘/ | Language-aware comment toggle across the selected lines, one undo step; HTML and XML route to the block pair. |
| Toggle Block Comment | ⌥⌘/ | Wrap or unwrap the selection in the language's block pair; an empty selection inserts the pair with the caret inside. |
| Complete Word | ⌥⎋ | Identifiers from the document itself, frequency-ordered, at the caret. |
| Brackets ▸ | | The bracket commands; see below. |
| Snippets… | | Author Tab-expanded snippets: tab stops, placeholders, mirrors, variables, per-language scoping. |
| File Pattern Rules… | | Glob rules that set wrap, tab width, encoding, syntax, CSV delimiter, and header row per file pattern; first match wins per setting. |
| Spelling and Grammar / Substitutions / Transformations / Speech | ⌘: · ⌘; | The standard macOS text-service submenus. ⌘: shows the spelling panel and ⌘; checks the document. |
| Item | Shortcut | What it does |
| Find… | ⌘F | The find bar: literals, regex, whole-word, case, escape sequences. |
| Find and Replace… | ⌥⌘F | Opens the find bar with its replace row. |
| Find Next / Find Previous | ⌘G · ⇧⌘G | Walks the matches, wrapping at the ends. |
| Use Selection for Find | ⌘E | Make the current selection the search term. |
| Jump to Selection | ⌘J | Scroll back to wherever the caret is. |
| Filter Lines | ⇧⌘L | Opens the filter bar, which shows only the matching lines. |
| Go to Line… | ⌘L | Jump to a line number, instant at any size. While a large file is still indexing, a line or record past the indexed frontier jumps to the frontier and completes on its own when the index reaches it; percent and byte targets work at any point of the build. |
| Go Back / Go Forward | ⌃⌘← · ⌃⌘→ | Walk back through the places you jumped to (Go to Line, a problem, a bookmark, a match from a panel) and forward again. |
| Go to Time… | ⌥⌘L | In a timestamped log, jump to a clock time (14:03, 14:03:30), a date and time (2026-09-04 14:03, with a space or a T), a bare date, or an offset from the caret line (+5m, -30s, +2h, +1d; an offset with no unit is refused with a hint to add one). A clock time takes the caret line's day, or the first record's. Times are read in the log's own zone when its lines carry one. |
| Find in Files… | ⇧⌘F | Search files on disk without opening them: filename patterns, an all-open-documents scope, a skip report, and replace-across-files with previews and .bak backups. |
| Batch Replace… | | A list of find/replace pairs run in one pass (one undo) or in order (undo per pair), with per-pair results, CSV/TSV import/export, and presets. |
| Select All Occurrences | ⌃⌘G | A cursor on every match of the selection, or of the word under the caret (up to 1,000). |
| Extract Range… | | Part of the document to a new document: lines, bytes, CSV records with the header carried, a time range in a log, or the lines around every find match. |
| Save Filtered Lines… | | The lines the filter shows, straight to a file you name; the header first in a table. |
| Save Matches… | | One line per matching line, grep-style, straight to a file you name. |
| Item | Shortcut | What it does |
| Toggle Bookmark | ⇧⌘B | Bookmarks or unbookmarks the current line. |
| Next Bookmark | ⌥⌘B | Move to the next bookmark, wrapping at the end. |
| Previous Bookmark | ⌥⇧⌘B | Move to the previous bookmark, wrapping at the start. |
| Show Bookmarks Panel | ⌥⌘M | Opens the sidebar on its Bookmarks panel (the same as ⌃⌘3): every bookmark of the current document with its time, severity, text and an editable incident note. The Sidebar. |
| Add Note to Bookmark… | | Put an incident note on the caret line, bookmarking it first when needed; Remove Note takes it off. Notes reach the sidecar within seconds. Text mode only. |
| Bookmark Lines Matching… | | Bookmark every line matching a pattern in one pass. |
| Bookmark All Filtered Lines | | Bookmark the current filter's visible set. |
| Extract Bookmarked Lines | | Copy every bookmarked line to a new document. |
| Extract Incident Window… | | The lines around every bookmark (N lines, or N seconds by timestamp in a log; whole numbers up to 100,000,000), merged, to a new document with a header per block in the document's line ending. Refuses when the document changed while the dialog was open. |
| Delete Bookmarked Lines… / Delete Non-Bookmarked Lines… | | Keep or drop the bookmarked set; streams to a new document when the result is enormous. |
| Clear All Bookmarks | | Remove every bookmark in the document. |
| Item | Shortcut | What it does |
| Uppercase / Lowercase / Title Case | | Case transforms on the selection. With nothing selected, Caxton asks you to select some text first. |
| Sentence Case / Toggle Case | | Sentence-capitalize the selection; or swap every letter's case. |
| Identifier Case ▸ | | camelCase, PascalCase, snake_case, kebab-case, CONSTANT_CASE, dot.case, space case; acronym-aware, one identifier per line. |
| Sort Lines | | Sorts lines A to Z, ignoring case; equal lines keep their order. |
| Sort Lines Descending | | Sorts lines Z to A, ignoring case. |
| Sort Lines Numerically | | Sorts by the number each line starts with, comparing values, not digits; lines without one go last. |
| Sort Lines by Length | | Shortest line first; lines of equal length keep their order. |
| Reverse Lines | | Flip the line order. |
| Delete Duplicate Lines | | Keep the first occurrence of each line. |
| Delete Lines Matching… | | Remove every line matching a pattern; streams to a new document for huge results. |
| Lines ▸ · Whitespace ▸ · Numbers ▸ · Paragraphs ▸ · Insert Date/Time ▸ | | The line toolbox; each submenu has its own table below. |
| Base64 Encode | | Replaces the selection with its Base64 form. |
| Base64 Decode | | Turns Base64 in the selection back into text. |
| URL Encode | | Percent-encodes the selection. |
| URL Decode | | Turns percent-encoding in the selection back into text. |
| Escapes ▸ | | The escape transforms; see below. |
| Hash ▸ | | SHA-256 / SHA-512 / SHA-1 / MD5 of the selection, in a panel with Copy; never replaces your text. |
| Format JSON / Format XML | | Pretty-print the selection or document. |
| Narrow to Selection / Widen | | Temporarily restrict the view (and edits) to the selection; Widen restores. |
| Word Count / Statistics… | | The quick banner, or the full panel: bytes through reading time, plus an indentation report. |
| Item | Shortcut | What it does |
| Duplicate Line | ⇧⌘D | Copies the caret line (or the selected lines) below itself. |
| Delete Line | ⇧⌘K | Removes the caret line (or the selected lines). |
| Copy Line | | Copies the caret line (or the selected lines) without selecting it first. |
| Move Line Up / Move Line Down | ⌥⌘↑ · ⌥⌘↓ | Moves the line or the selected lines one line up or down. |
| Join Lines | ⌃J | Joins the selected lines into one; with no selection, joins the caret line with the next. |
| Split Lines at Delimiter… | | The inverse of Join Lines: each line breaks at the delimiter you type, which is removed. |
| Shuffle Lines | | Puts the lines in random order. |
| Remove Empty Lines | | Deletes blank lines; a line of spaces or tabs counts as blank. |
| Keep Only Duplicate Lines | | Keeps every occurrence of the lines that appear more than once and drops the rest: the opposite question to Delete Duplicate Lines. |
| Indent / Outdent | ⌘] · ⌘[ | Shifts the lines one indent level right or left. |
| Number Lines… | | Prefixes each line with a right-aligned number, from a start value with a separator you choose. |
| Add Prefix/Suffix… | | Adds the same text to the start, the end, or both, of every line. |
| Item | Shortcut | What it does |
| Insert Row Above | | Adds an empty row above the selected one. |
| Insert Row Below | | Adds an empty row below the selected one. |
| Delete Row | | Removes the selected row. |
| Insert Column After | | Adds an empty column to the right of the selected one, with every row rewritten consistently. |
| Delete Column | | Removes the selected column from every row. |
| Move Column Left | | Swaps the selected column with the one to its left. |
| Move Column Right | | Swaps the selected column with the one to its right. |
| Split Column… | | Break one column into several on a delimiter. |
| Combine with Next Column… | | Merge adjacent columns with a joiner. |
| Insert Sequential Numbers… | | Fill a column with a numbered sequence. |
| Extract Column to New Document | | Pull one column out as its own file. |
| Remove Embedded Newlines… | | Flatten multi-line cells. |
| Transpose | | Swap rows and columns (up to 100,000 cells). |
| Sort Rows… | | Sort by any column (Text, case-sensitive bytes, Natural, Numeric, Currency, or Date) with a secondary key and named presets. The sort shows its phases, checks disk space before it writes a run, previews before it applies, runs in place up to 256 MB and streams the sorted rows to a new document past that, source unchanged. Sort & Duplicates. |
| Delete Duplicate Rows… | | Dedupe by any column combination; keep the first, the last, nothing, the earliest or latest date in a column, or the largest or smallest number in a column; remove, bookmark, or export the groups to a new document; a report of the groups before anything is removed. |
| Count Frequent Values in Column | | A frequency table for a column, ranked; the sidebar's Column Profile has the full table with search, export and filter. |
| Advanced Filter… | | Multi-condition row filter: whole line, any column, or one column per condition; Contains/Does Not Contain/Equals/Greater/Less Than; chained with and/or. |
| Filter by Column Values… | | Distinct values with counts and checkboxes: check what you want to see and apply. |
| Clear Row Filter | | Shows every row again. |
| Delimiter ▸ | | Auto-detect, Comma, Tab, Semicolon, Pipe, or Custom…: how the current file is read, without changing a byte of it. The active choice carries a check mark and is kept with the session. |
| Convert Delimiter ▸ Comma (CSV) | | Rewrites the file with commas between fields, quoting the cells that need it. |
| Convert Delimiter ▸ Tab (TSV) | | Rewrites the file with tabs between fields. |
| Convert Delimiter ▸ Pipe / Semicolon / Custom… | | Rewrites the file with pipes, semicolons, or a delimiter you type. |
| Convert Delimiter ▸ Delimiter and Quoting… | | The delimiter and the quote policy (quote when needed, quote every field, or TSV escapes with no quotes) in one form, with the preview. |
| First Row Is Header | | Toggle whether row 1 is treated as column names. |
| Promote Row to Header | | Lifts the selected row into the header. |
| Edit Cell Value… | | The full-value editor: multiline and long cells, decoded or raw bytes. |
| Rename Column… | | Edits a header name. |
| Add Header Row | | Inserts a header of Column1…N placeholders above the data. |
| Hide Column · Show All Columns | | Hide a column from view, or bring every hidden column back; the data is never touched. |
| Freeze Columns ▸ | | None, First 1 Column, First 2 Columns, First 3 Columns, or Up to Selected Column: the frozen columns stay in place while the rest scroll sideways. |
| Up to Selected Column | | In Freeze Columns: freezes every column from the first through the selected one. |
| Auto-Fit All Columns | | Sizes every column to its content. |
| Quote All Cells / Remove Unnecessary Quotes | | Force quotes onto every cell, or strip the decorative ones. |
| Normalize Column Count… | | Pad short rows to the expected width; optionally trim surplus cells. |
| Convert Fixed-Width to Columns… | | Split fixed-width text at given character widths into a new delimited document (text view). |
| Fill Down / Fill Up | ⌘D | Copy the selection’s top (or bottom) edge through it. |
| Fill Right / Fill Left | ⌘R | Copy the selection’s left (or right) edge across it. |
| Fill Series… | | Linear, growth, date/time, text+number, and list series with count or stop-value termination and live preview. |
| Transform Cells… | ⌥⇧⌘T | Forty-eight transforms over a cell, a selection, a column or the table, with a preview and one undo. Transform Cells. |
| Validate… · Validation Schema… | | Run the file's rules, or edit them: structural checks and a type and constraints per column. Findings go to the Problems panel. Validate & Repair. |
| Repair ▸ | | Pad Missing Fields · Merge Overflow Fields · Remove Extra Fields · Repair Quotes · Normalize Delimiters · Normalize Line Endings · Remove Blank Rows · Replace Invalid Bytes… · Rename Headers, each with a preview of exact examples and one undo. |
| Reparse with Another Profile… | | In Repair: read the file again with a different delimiter or header setting. |
| Quarantine Problem Rows… | | Write the rows with problems to a new document, each with its rule, message and original row number, then offer to remove them. |
The standard macOS Format menu: Font (fonts, kerning, ligatures, baseline, Copy Style and Paste Style) and Text (alignment, writing direction, the ruler). Caxton documents are plain text; these apply to the editor's display font rather than embedding rich formatting in your files.
| Item | Shortcut | What it does |
| Zoom In / Zoom Out / Actual Size | ⌘+ · ⌘− · ⌘0 | Zooms the text in, out, and back to actual size. |
| Word Wrap | ⌥⌘W | Turns soft wrap on or off. |
| Wrap At ▸ | | Window Width, 80 Columns, 100 Columns or 120 Columns (with a guide line). |
| Show Invisibles | | Faint marks for spaces, tabs, and line ends; unusual whitespace (NBSP, zero-width) tinted. |
| Show Toolbar | ⌥⌘T | Hide or show the toolbar. |
| Customize Toolbar… | | Caxton's toolbar editor: the bar as a strip to drag items along, a palette to drag items from, Group and Ungroup for capsules, Icon Only or Icon and Text, Restore Defaults. View describes it. |
| Markers… | ⇧⌘M | Manage persistent pattern highlights (six colors, saved per document). |
| CSV Grid View | ⇧⌘C | Toggle between the CSV grid and raw text for the current document. |
| Minimap | | The overview strip at the right of the editor, on by default, for every window. Every character is a small mark in the color the editor gives it; a document shorter than the map ends where its text ends, and a taller one shows a window of rows that slides with the editor's scroll. Click or drag it to move, or scroll over it to scroll the editor. In a log, ERROR and WARN rows carry a translucent band across the map. Off above 500 MB and in the CSV grid. |
| Command Palette… | ⇧⌘P | Opens the search field at the top of the window on commands: every menu command with its key beside it. Search Files or Commands. |
| Operations | ⌥⇧⌘J | Opens the sidebar on its Operations panel: the jobs running for the document and the report of every operation that ran. The Sidebar. |
| Split View | ⌘\ | Opens two independent viewports of the same document. |
| Show Sidebar | ⌃⌘S | The column of panels at the left: File Browser, Open Documents, Bookmarks, Search Results, Problems, Operations and, in the grid, the Column Profile. The item reads Hide Sidebar while the column is open. The Sidebar. |
| Show Inspector | ⌥⌘I | The column at the right that answers what the file is and what is selected. The item reads Hide Inspector while the column is open. The Inspector. |
| Sidebar ▸ | ⌃⌘1 … ⌃⌘7 | Show a panel (and the sidebar with it); the check marks the panel showing. Column Profile is offered only in the CSV grid. To take a panel off the row, right-click the row of buttons in the sidebar and uncheck it. |
| Enter Full Screen | ⌃⌘F | Enters native full screen. |
| Folding ▸ | ⌥⌘← ⌥⌘→ ⌥⇧⌘← ⌥⇧⌘→ | Fold Current Region, Unfold, Fold All (a cancellable job on big files), Unfold All. Hidden lines show as a count pill; the status-bar Folds badge unfolds all on click. |
| Next Change | ⌃⌘↓ | Jumps to the next region edited since the last save (gutter change markers). |
| Previous Change | ⌃⌘↑ | Jumps to the previous edited region. |
| Revert Selected Change | | Restore the original bytes for the change under the cursor, as one undo step. Moved rows (CSV sorts) refuse; undo covers those. |
| Log ▸ Timestamp Format… | | Override the detected timestamp format of a log (ISO 8601, syslog, Apache access and error, nginx and Go, epoch seconds or milliseconds, slash dates), the zone for typed times and for lines that carry none (the log's own zone is used when its lines carry one), and the year for syslog lines (a typed year replaces the detected one; on a followed syslog that keeps growing the detected year is refreshed from the file, so lines written after a month boundary keep the right year); Auto-detect returns to detection. Enabled in log documents only; the choice is kept with the session. |
| Log ▸ Severity Patterns… | | Your own severity words or regexes, with a level each, applied top to bottom with the first match winning (Move Up and Move Down reorder them); they beat the built-in words in the row tint, the minimap's row bands, the filter and the Bookmarks panel. An invalid regex is reported in the window and skipped. The footer of the window states the order rule. An entry written by a newer Caxton shows greyed as (entry from a newer Caxton); it can be removed or moved but not edited. |
| Log ▸ Catch Up to Live | | While following a file that grows faster than Caxton absorbs it, skip to the last 64 MB; the banner names the byte range left outside the window. Enabled in tail mode while Follow is on. With unsaved edits it asks before discarding them; the automatic catch-up past 512 MB of lag pauses Follow instead. On a file reopened in another encoding the automatic catch-up is off; the menu item reloads on demand. A Catch Up that cannot reload leaves the follower where it was and says so. The automatic catch-up waits while a dialog is open, and Discard and Catch Up keeps Follow on. |
| Log ▸ Open Skipped Range as Slice | | The bytes a Catch Up left outside the window, opened as a slice in their own window. Disabled for a file reopened in another encoding (the tooltip says so) and after a rotation, which clears the range. |
| Diagnostics Overlay | | Shows the performance HUD, which is off by default. |
| Theme ▸ | | The curated palettes, the imported ones, Follow System Appearance as its own switch, Import Theme…, Export Theme… and Remove Imported Theme. Themes. |