Ответ 1
CTRL-E - scroll down
CTRL-Y - scroll up
100 <CTRL-E>
будет прокручивать вниз по 100 строк, например
Если вам нравится использовать PageUp, PageDown или Ctrl + D и т.д., вы можете установить опцию "nostartofline"
:set nostartofline
У меня есть большой файл с тысячами строк из тысяч символов.
Я перемещаю курсор на 3000-й символ.
Если я использую PageDown или Ctrl + D, файл будет прокручиваться, но курсор вернется к первому символу без пробела.
Есть ли возможность установить курсор в том же столбце после такого прокрутки?
У меня есть поведение с gvim на Window, vim на OpenVMS и Cygwin.
CTRL-E - scroll down
CTRL-Y - scroll up
100 <CTRL-E>
будет прокручивать вниз по 100 строк, например
Если вам нравится использовать PageUp, PageDown или Ctrl + D и т.д., вы можете установить опцию "nostartofline"
:set nostartofline
Ну, один простой способ сделать это - использовать клавиши перемещения. Например, чтобы спуститься на 100 строк, удерживая курсор в том же столбце: "100j"
Edit:
Хорошо, ища немного больше, чтобы действительно найти ответ на ваш вопрос, есть возможность сделать именно то, что вы хотите:
:set nostartofline
Я использую плагин 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>
Это может совсем не укладываться в вашу ситуацию, но если это облегчает разбиение строк, вы можете разбить их на определенный символ, например. после ':'
:%s/:/\r&/g
Или каждые 80 символов
:%s/.\{80}/&\r/g