Vim CTRL-B behaviour at top of file

vim

I've been practicing to use VIM for some time now, but I still find the CTRL B behavior near the top of a file irritating and would like to know whether (or how) I can modify how it works.

Normally when one presses CTRL B, the visible buffer scrolls up by one page and the cursor jumps up by the same amount of lines. Near the top of a file, though, the visible buffer jumps to the beginnining of the file and the cursor is set to the last visible line.

What I would expect is that the cursor would be set to the first visible line. Can I enforce this behavior somehow?

Example (of current behavior):
Assume a terminal window with space for 30 lines, the first visible line is 3, and the cursor is at line 20. If I press CTRL B the first visible line jumps to 1 and the cursor is now on the last visible line – line 30 (instead of the intended line 1).

Best Answer

Remap Ctrl-B ie <C-B>

Uppercase H moves cursor to top of page.

The 0 (zero) moves cursor to the start of line.

:nmap <C-B> <PageUp>H0

Related Question