Как я могу прокрутить vim в большой файл?

У меня есть большой файл с тысячами строк из тысяч символов.

Я перемещаю курсор на 3000-й символ.

Если я использую PageDown или Ctrl + D, файл будет прокручиваться, но курсор вернется к первому символу без пробела.

Есть ли возможность установить курсор в том же столбце после такого прокрутки?

У меня есть поведение с gvim на Window, vim на OpenVMS и Cygwin.

Ответ 1

CTRL-E - scroll down
CTRL-Y - scroll up

100 <CTRL-E> будет прокручивать вниз по 100 строк, например

Если вам нравится использовать PageUp, PageDown или Ctrl + D и т.д., вы можете установить опцию "nostartofline"

:set nostartofline

Ответ 2

Ну, один простой способ сделать это - использовать клавиши перемещения. Например, чтобы спуститься на 100 строк, удерживая курсор в том же столбце: "100j"

Edit:

Хорошо, ища немного больше, чтобы действительно найти ответ на ваш вопрос, есть возможность сделать именно то, что вы хотите:

:set nostartofline

Ответ 3

Недавний плагин

Я использую плагин terryma/vim-smooth-scrolling, так как он обеспечивает очень приятную и плавную прокрутку.


Чтобы установить, вы можете использовать Vundle:

Bundle terryma/vim-smooth-scrolling

Как указано в документе, вы можете настроить 3 аргумента: расстояние, продолжительность и скорость.

Я использую это в файле .vimrc:

noremap <silent> <c-b> :call smooth_scroll#up(&scroll*2, 10, 4)<CR>
noremap <silent> <c-f> :call smooth_scroll#down(&scroll*2, 10, 4)<CR>

Ответ 4

Это может совсем не укладываться в вашу ситуацию, но если это облегчает разбиение строк, вы можете разбить их на определенный символ, например. после ':'

:%s/:/\r&/g

Или каждые 80 символов

:%s/.\{80}/&\r/g