[vim/vim] feat(move): allow scrolloff to be satisfied using screen rows past EOF (PR #19040)

26 views
Skip to first unread message

mcauley-penney

unread,
Dec 29, 2025, 1:09:28 AM12/29/25
to vim/vim, Subscribed

Add a new window-local option 'scrolloffpad' that lets 'scrolloff' remain effective at the end of a buffer by treating EOF filler rows as usable screen space.

When enabled, cursor movements and jumps (e.g. j, G) keep the cursor line centered according to 'scrolloff' even past the last buffer line. When disabled, existing scrolloff behavior is preserved.


You can view, comment on, or merge this pull request online at:

  https://github.com/vim/vim/pull/19040

Commit Summary

  • bc03504 feat(move): allow scrolloff to be satisfied using screen rows past EOF

File Changes

(10 files)

Patch Links:


Reply to this email directly, view it on GitHub.
You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/19040@github.com>

mcauley-penney

unread,
Jan 2, 2026, 2:18:20 PMJan 2
to vim/vim, Push

@mcauley-penney pushed 1 commit.

  • 4f1d2e9 docs(options): init scrolloffpad option docs


View it on GitHub or unsubscribe.
You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/19040/before/bc0350461e344819d5713e82fab1ae2796d8c8bd/after/4f1d2e93acae4de43d26349895659fdb73055055@github.com>

mcauley-penney

unread,
Jan 2, 2026, 2:23:00 PMJan 2
to vim/vim, Push

@mcauley-penney pushed 1 commit.

  • 3e4f519 feat(options): add wiring for 'scrolloffpad' option

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/19040/before/4f1d2e93acae4de43d26349895659fdb73055055/after/3e4f519001c6f293b1eae56abd479255a92573b2@github.com>

mcauley-penney

unread,
Jan 2, 2026, 9:24:00 PMJan 2
to vim/vim, Push

@mcauley-penney pushed 1 commit.

  • c856028 feat(move): implement scrolloffpad functionality

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/19040/before/3e4f519001c6f293b1eae56abd479255a92573b2/after/c85602807b7fe6b520f5df2f22ad810f1a73e588@github.com>

mcauley-penney

unread,
Jan 3, 2026, 1:01:58 PMJan 3
to vim/vim, Push

@mcauley-penney pushed 1 commit.

  • bbd8a56 feat(move): implement scrolloffpad functionality

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/19040/before/c85602807b7fe6b520f5df2f22ad810f1a73e588/after/bbd8a564d2e82a4cb9c11ad1ab25b06886300579@github.com>

mcauley-penney

unread,
Jan 3, 2026, 1:03:04 PMJan 3
to vim/vim, Push

@mcauley-penney pushed 1 commit.

  • 12cbb36 feat(move): implement scrolloffpad functionality

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/19040/before/bbd8a564d2e82a4cb9c11ad1ab25b06886300579/after/12cbb361632d8663cc9cfc9661835b37abb64042@github.com>

mcauley-penney

unread,
Jan 3, 2026, 1:06:40 PMJan 3
to vim/vim, Push

@mcauley-penney pushed 2 commits.

  • 4e6a098 feat(options): add wiring for 'scrolloffpad' option
  • 35d14e4 feat(move): implement scrolloffpad functionality

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/19040/before/12cbb361632d8663cc9cfc9661835b37abb64042/after/35d14e4533978a02b102c596265612379584be79@github.com>

mcauley-penney

unread,
Jan 3, 2026, 1:10:28 PMJan 3
to vim/vim, Push

@mcauley-penney pushed 2 commits.

  • ac71fdf feat(options): add wiring for 'scrolloffpad' option
  • 1e5654e feat(move): implement scrolloffpad functionality

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/19040/before/35d14e4533978a02b102c596265612379584be79/after/1e5654e958fa9f10c26e8c787db8ceabf1fc302e@github.com>

mcauley-penney

unread,
Jan 3, 2026, 1:11:15 PMJan 3
to vim/vim, Push

@mcauley-penney pushed 2 commits.

  • 1ef0b53 feat(options): add wiring for 'scrolloffpad' option
  • 42c0ba8 feat(move): implement scrolloffpad functionality

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/19040/before/1e5654e958fa9f10c26e8c787db8ceabf1fc302e/after/42c0ba845da8b4ce68378ad26d7582d79ae3edb0@github.com>

mcauley-penney

unread,
Jan 3, 2026, 5:59:37 PMJan 3
to vim/vim, Push

@mcauley-penney pushed 3 commits.

  • 09581ea docs(options): init scrolloffpad option docs
  • a22cddc feat(options): add wiring for 'scrolloffpad' option
  • 9f666b0 feat(move): implement scrolloffpad functionality

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/19040/before/42c0ba845da8b4ce68378ad26d7582d79ae3edb0/after/9f666b076b9c0a414c7117bcf4994075f7ffa05f@github.com>

mcauley-penney

unread,
Jan 3, 2026, 8:22:29 PMJan 3
to vim/vim, Push

@mcauley-penney pushed 1 commit.

  • 1cd4276 feat(move): implement scrolloffpad functionality

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/19040/before/9f666b076b9c0a414c7117bcf4994075f7ffa05f/after/1cd4276b536d7e7380e4a11ec7573f0418ddfcd2@github.com>

mcauley-penney

unread,
Jan 3, 2026, 9:42:22 PMJan 3
to vim/vim, Push

@mcauley-penney pushed 1 commit.

  • 0b64ca9 feat(move): implement scrolloffpad functionality

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/19040/before/1cd4276b536d7e7380e4a11ec7573f0418ddfcd2/after/0b64ca98dd66f1663354e905a7128049be9c8d56@github.com>

mcauley-penney

unread,
Jan 4, 2026, 12:48:56 PMJan 4
to vim/vim, Push

@mcauley-penney pushed 3 commits.

  • e96fec2 docs(options): init scrolloffpad option docs
  • 882f91b feat(options): add wiring for 'scrolloffpad' option
  • 6dbd639 feat(move): implement scrolloffpad functionality

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/19040/before/0b64ca98dd66f1663354e905a7128049be9c8d56/after/6dbd63912650fcad3307fe466dbc44382fda5198@github.com>

mcauley-penney

unread,
Jan 4, 2026, 1:26:45 PMJan 4
to vim/vim, Push

@mcauley-penney pushed 3 commits.

  • bd8a2d0 docs(options): init scrolloffpad option docs
  • 2762631 feat(options): add wiring for 'scrolloffpad' option
  • 2275bfc feat(move): implement scrolloffpad functionality

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/19040/before/6dbd63912650fcad3307fe466dbc44382fda5198/after/2275bfca1701addc541f54700a21a225d14b8702@github.com>

mcauley-penney

unread,
Jan 4, 2026, 1:35:37 PMJan 4
to vim/vim, Push

@mcauley-penney pushed 2 commits.

  • 38fa28c feat(options): add wiring for 'scrolloffpad' option
  • 2a76ebf feat(move): implement scrolloffpad functionality

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/19040/before/2275bfca1701addc541f54700a21a225d14b8702/after/2a76ebf011504f45489f3135ce61b59ead7a6fbd@github.com>

mcauley-penney

unread,
Jan 4, 2026, 4:16:00 PMJan 4
to vim/vim, Push

@mcauley-penney pushed 1 commit.

  • bced57e feat(move): implement scrolloffpad functionality

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/19040/before/2a76ebf011504f45489f3135ce61b59ead7a6fbd/after/bced57ed605a3ca6533f110ace159e0e042263cf@github.com>

mcauley-penney

unread,
Jan 4, 2026, 5:06:28 PMJan 4
to vim/vim, Push

@mcauley-penney pushed 3 commits.

  • f0280ab docs(options): init scrolloffpad option docs
  • 570f9b3 feat(options): add wiring for 'scrolloffpad' option
  • c17251e feat(move): implement scrolloffpad functionality

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/19040/before/bced57ed605a3ca6533f110ace159e0e042263cf/after/c17251ec33bae9c206d91057d0d5dbb5b9c687f3@github.com>

mcauley-penney

unread,
Jan 4, 2026, 5:37:26 PMJan 4
to vim/vim, Push

@mcauley-penney pushed 3 commits.

  • e63841c docs(options): init scrolloffpad option docs
  • 012dbbe feat(options): add wiring for 'scrolloffpad' option
  • c927f47 feat(move): implement scrolloffpad functionality

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/19040/before/c17251ec33bae9c206d91057d0d5dbb5b9c687f3/after/c927f47dd6adc8c3ea1e192341017832a2d0959b@github.com>

mcauley-penney

unread,
Jan 4, 2026, 6:49:12 PMJan 4
to vim/vim, Push

@mcauley-penney pushed 1 commit.

  • 670e072 test(scrolloffpad): make terminal sizes deterministic

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/19040/before/c927f47dd6adc8c3ea1e192341017832a2d0959b/after/670e0729342bcf7802f06b4ae76c53e7517cdf5d@github.com>

mcauley-penney

unread,
Jan 4, 2026, 8:09:36 PMJan 4
to vim/vim, Push

@mcauley-penney pushed 1 commit.

  • 856bab2 feat(move): implement scrolloffpad functionality

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/19040/before/670e0729342bcf7802f06b4ae76c53e7517cdf5d/after/856bab2f527314fb5b0b0d19ed8ed803217548a3@github.com>

mcauley-penney

unread,
Jan 29, 2026, 10:19:24 PMJan 29
to vim/vim, Push

@mcauley-penney pushed 3 commits.

  • 5fa2df3 docs(options): init scrolloffpad option docs
  • 0e18520 feat(options): add wiring for 'scrolloffpad' option
  • 3e0d6a0 feat(move): implement scrolloffpad functionality

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/19040/before/856bab2f527314fb5b0b0d19ed8ed803217548a3/after/3e0d6a0c94b47b7dd744f2fbc27ac728279f9210@github.com>

mcauley-penney

unread,
Feb 8, 2026, 3:50:18 PM (7 days ago) Feb 8
to vim/vim, Push

@mcauley-penney pushed 1 commit.

  • 292532c feat(move): implement scrolloffpad functionality

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/19040/before/3c7c28e570e1c4f7f35b0bb62458f30bdd73f517/after/292532cd83f522120b309ec701dea71d9f7a9c5c@github.com>

mcauley-penney

unread,
Feb 14, 2026, 9:01:10 PM (11 hours ago) Feb 14
to vim/vim, Push

@mcauley-penney pushed 3 commits.

  • 7ffeaad docs(options): init scrolloffpad option docs
  • 97220ff feat(options): add wiring for 'scrolloffpad' option
  • 8eedfce feat(move): implement scrolloffpad functionality

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/19040/before/04d08cde187e630be4d202a158d3fa632cde888f/after/8eedfce27da5068bd55249d8459b47f3eb623f21@github.com>

Reply all
Reply to author
Forward
0 new messages