Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Search

Search operates on visible lines only — it respects active filters and only scans lines that are currently shown.

Keybindings

KeyAction
/Search forward
nJump to next match
NJump to previous match

There’s no default key for a dedicated backward search — ? opens the keybindings help overlay instead. Search backward by pressing /, then N to step backward from the match; search_backward remains available to rebind in config if you want a dedicated key.

Usage

Press / to open the search bar at the bottom of the screen. Type your query and press Enter. logana highlights all matches on visible lines and scrolls to the first match.

  • n wraps around to the first match after the last line.
  • N wraps around to the last match before the first line.

While typing, the hint line shows a live match count; the mode bar already shows <Enter> search for as long as the search box is open, so the hint line doesn’t repeat it. Once the search is committed, the hint line shows match <current> / <total> alongside the configured next_match/prev_match keys (n/N by default), styled the same way as a mode bar’s key hints, as a reminder of how to step through the results.

GUI search controls

In the GUI, / opens and focuses the search popup by default. Enter advances to the next match and closes the popup; Shift+Enter moves to the previous match and closes it. Esc cancels and clears the search. Closing with the popup’s close button retains the query and highlights.

These keys are configurable: normal.search_forward opens the popup, search.confirm confirms forward, gui.search_previous confirms backward, and search.cancel cancels. normal.next_match / normal.prev_match navigate results from the log view. See GUI shortcuts.

Pattern Syntax

Search uses full regex syntax. Examples:

/NullPointerException              plain text
/user 42 .* failed                 regex — activity for a specific user
/POST /api/orders.* 5\d\d          regex — failed order requests
/^2024-06-15T14                    lines from a specific hour

Case Sensitivity

By default, search is case-sensitive. Case sensitivity can be toggled programmatically via the Search API (no UI toggle yet — the default behavior is case-sensitive matching).

Match Highlighting

Matched byte spans are highlighted with the search style (distinct from filter highlight colors). Search highlights take priority over filter highlights — if a search match overlaps a filter-colored span, the search color wins.

The current match (the one n/N is positioned on) is rendered with a distinct highlight color to distinguish it from other occurrences on screen.

When wrap is disabled, navigating to a match with n or N also adjusts the horizontal scroll to center the matched span in the viewport.

Search vs. Filters

SearchFilter
PersistedNoYes
Affects visible linesNoYes
HighlightedYesYes
Navigation (n/N)YesNo
Regex supportYesYes

Use filters to permanently narrow the view. Use search to navigate through specific patterns within the already-filtered view.

Switching to another interaction mode, such as the filter or group sidebar, clears the current search and its highlights. Escape also cancels any search still running in the background.