# scrolloff: keyboard motion keeps 3 context rows above/below the cursor, # clamped at file boundaries (cursor may reach the top/bottom body row there) lines g.txt 40 start 30 100 -n 3 wait 8000 g.txt stable 700 20000 # right-click the g.txt name in the greeting ls -> file pane, 9 body rows press right 4 4 release right 4 4 wait 10000 line 3 stable 700 15000 press left 10 3 release left 10 3 stable 400 5000 # (b) gg: cursor CAN sit on the top body row, no forced scroll key g g stable 400 5000 snap top # (a) five j's reach the bottom margin (visual row 5 of 9) without scrolling... key j j j j j stable 400 5000 snap edge # ...the sixth j scrolls: view slides one line, cursor holds the margin key j stable 400 5000 snap scrolled1 key j j j j stable 400 5000 snap jdown # (d) G: bottom clamp, view stops at EOF-at-bottom, cursor on the bottom row key G stable 400 5000 snap end # (c) k-walk up: cursor climbs to the top margin, then the view scrolls key k k k k k k k k stable 400 5000 snap kup # (b) again from deep in the file: gg puts the cursor back on the top row key g g stable 400 5000 snap top2