Skip to content

Layout and display

Hunk uses the same normalized review model in every layout.

Terminal window
hunk diff --mode auto
hunk diff --mode split
hunk diff --mode unified
  • auto chooses split when the available diff area is at least auto_split_min_width columns wide (default 160), after side panes and outer padding, and unified otherwise. Opening, closing, or resizing side panes re-evaluates the layout. This width spans both split sides and includes their line-number gutters.
  • split keeps before and after columns side by side.
  • unified shows changed rows in a single-width flow.

Explicit split and unified choices override responsive behavior. While reviewing, press 0 for auto, 1 for unified, or 2 for split. The former stack value remains accepted as a deprecated input alias and normalizes to unified.

Terminal window
hunk diff --no-line-numbers --wrap --no-hunk-headers --tab-width 2 --file-gap 3 --hunk-gap 1

Paired flags let scripts express either state: --line-numbers / --no-line-numbers, --wrap / --no-wrap, and --hunk-headers / --no-hunk-headers. Tab width accepts an integer from 1 through 16. --file-gap is separator height including the ─ rule (0 hides it); --hunk-gap is blank rows before later hunks. Both accept 0 through 8.

TOML settings cover persistent display details:

mode = "auto"
line_numbers = true
wrap_lines = false
hunk_headers = true
file_gap = 1
hunk_gap = 0
menu_bar = true
animations = true
sidebar = "auto"
agent_notes = false
copy_decorations = false
transparent_background = false
cursor_line = "row"

transparent_background lets the terminal's own background show through Hunk surfaces. It is off by default; turn it on when matching a transparent or blurred terminal matters more than exact theme colors.

Set animations = false to make panes open and close immediately.

cursor_line chooses how the line you are on is marked: row highlights the whole row, number marks only its line number, and off removes the marker and returns k / j to scrolling the view one row at a time. Switch it mid-review from the View menu, or set --cursor-line <style> for a single run.

file_gap is the number of rows between files, including the ─ rule. 1 is the current look; 0 hides the rule; larger values add blank rows above it. hunk_gap inserts blank rows before each hunk after the first in a file.