# tty n/N look-motion (normal mode only): n selects the next output row of # the terminal whose leading file-ish word looks somewhere (file, path:NNN — # resolved by the look machinery, prompt/echo rows blanked via the OSC 133 # marks) and looks it; plain rows are skipped; N steps back up. Insert-mode # n still types (run splice); with nothing lookable n is a no-op. lines big.txt 40 file plain.txt just text dirmk sub start 30 120 wait 8000 big.txt stable 700 20000 # real shell output mixing lookable and plain rows (two short printfs so the # echoes never wrap; echo rows are prompt-marked and invisible to the walk) key c-b stable 600 8000 text printf 'zz\nbig.txt:20\nww\n' key enter text printf 'plain.txt\nbig.txt:33\nzz\n' key enter text echo DO''NE key enter wait 8000 DONE stable 700 15000 key c-b stable 600 8000 # from the top: n skips nothing-rows, lands on the ls row (big.txt ...) first key g g stable 400 5000 key n stable 700 15000 snap lsrow snapstyle lsrow # next hits: big.txt:20 (file pane scrolls there), plain.txt, big.txt:33 key n stable 700 15000 snap line20 key n stable 700 15000 snap plain key n stable 700 15000 snap line33 # N walks back up to the plain.txt row key N stable 700 15000 snap back snapstyle back # insert mode: n types (a run splice), it does not step key i text nn key esc settle 700 stable 400 5000 snap insert key u stable 400 5000 # a shell with nothing lookable: cd into the empty subdir (the old ls row no # longer resolves from there), print plain rows — n has nowhere to go key a-n stable 700 15000 key c-b stable 600 8000 text cd sub key enter text printf 'qq\nrr\n' key enter text echo O''VER key enter wait 8000 OVER stable 700 15000 key c-b stable 600 8000 key g g stable 400 5000 key n stable 400 5000 snap noop