Как я могу прокрутить с vim в большой файл? - PullRequest
19 голосов
/ 18 февраля 2009

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

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

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

Есть опция, позволяющая удерживать курсор в том же столбце после такой прокрутки?

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

Ответы [ 4 ]

29 голосов
/ 18 февраля 2009
CTRL-E - scroll down
CTRL-Y - scroll up

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

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

:set nostartofline
7 голосов
/ 18 февраля 2009

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

Edit:

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

:set nostartofline
3 голосов
/ 26 мая 2013

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

Я использую плагин 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>
1 голос
/ 18 февраля 2009

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

:%s/:/\r&/g

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

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