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

Navigation

logana uses Vim-style keybindings for all navigation. All bindings are configurable — see Keybindings.

Scrolling

KeyAction
j / DownScroll down one line
k / UpScroll up one line
Ctrl+dHalf page down
Ctrl+uHalf page up
PageDownFull page down
PageUpFull page up
ggJump to first line
GJump to last line

Horizontal Scroll

When line wrap is off, long lines can be scrolled horizontally:

KeyAction
h / LeftScroll left
l / RightScroll right
0Jump to start of line (reset horizontal scroll)
$Jump to end of line

Count Prefix

Prepend a number to most motion keys to repeat them:

5j      — scroll down 5 lines
10k     — scroll up 10 lines
3Ctrl+d — scroll down 3 half-pages
50G     — jump to line 50
3gg     — jump to line 3

The active count is shown in the status bar (e.g. [NORMAL] 5). Counts are capped at 999,999.

Go to Line

From command mode, type a bare line number to jump there:

:500    — jump to line 500
:1      — jump to the first line

If the target line is hidden by an active filter, logana jumps to the nearest visible line instead.

Marks

Mark important lines to jump back to them or include them in an export.

KeyAction
mMark / unmark the current line
MToggle marks-only view (show only marked lines)

Marked lines show a highlighted indicator in the gutter. Marks are per-session and not persisted across runs.

Visual Selection

KeyAction
VEnter visual line mode — select whole lines for bulk mark / comment / yank / filter
vEnter visual char mode — move a cursor within the current line and select a text range

See Visual Line Mode and Visual Character Mode for the full key reference.

Log Level Navigation

Jump directly between error and warning lines without scrolling:

KeyAction
eJump to next ERROR / FATAL line
EJump to previous ERROR / FATAL line
wJump to next WARN line
WJump to previous WARN line

Navigation wraps to the nearest visible line that matches the level. Positions are pre-indexed whenever the visible set changes, so each jump is O(log n) regardless of file size.

Line Wrap

Toggle line wrapping with :wrap or via the UI menu (uw). When wrap is enabled, long lines flow onto multiple terminal rows and all viewport math accounts for the extra rows automatically.