Filtering
A filter shows only the lines that match, like grep, except the result is still your document: scrollable, searchable, editable, with original line numbers.
The filter bar
Press ⇧⌘L, type a condition, press Return.
Only the matching lines remain visible: 160,846 of 8 million, applied in about a quarter of a second. The gutter keeps the original line numbers.
- Per-condition toggles: Aa case, W whole word, .* regex, and ≠ to exclude matching lines instead.
- Filtering 80.6 million lines takes about 1.3 s (measured).
- Editing while filtered works; if a change makes results stale, a Refresh chip appears rather than the view churning under you.
- Closing the bar (✕) clears the filter and restores the full view. Esc returns focus to the editor and keeps the filter.
Multiple conditions
Click + to add conditions in the Filter Lines panel. Conditions chain with per-row AND/OR joiners (AND binds tighter), and each row has its own case/word/regex/≠ toggles. The panel button is mode-aware: in Table Mode the same button opens the grid's Advanced Row Filter instead, where each condition can target the whole line, any column, or one specific column, and compare with Contains, Does Not Contain, Equals, Greater Than, or Less Than.
The panel owns every condition. Apply runs the whole chain; Extract All sends the matching lines to a new document.
In the bar itself, extra conditions never stack rows; they fold into a one-line digest under the query field. Click the digest to reopen the panel.
Four conditions active, one slim line of chrome: the digest reads the whole chain back to you.
Working with results
- Extract All: copy every matching line into a new untitled document.
- Bookmark All Filtered: bookmark the visible set.
- Presets: save a condition chain by name and recall it from the bar; recent filters live under the clock icon.
- Import: drop a text file on the bar and each non-empty line becomes an OR condition (up to the condition cap).
- Delete Lines Matching… (Text menu): the destructive sibling: removes matching lines, streaming to a new document when the result would be enormous.
Slice scope
In slice or tail mode the filter labels itself with the loaded window ("filtering loaded slice, 500 MB of 50 GB") and offers Entire File, which scans past the loaded slice on disk.