Як зробити так, щоб Vim завжди відображав кілька рядків після EOF?


15

У Vim мені не подобається, як коли ви доходите до кінця файлу, він ставить останній рядок у нижній частині екрана.

Чи все-таки потрібно зробити останній рядок чимось на зразок 10 рядків внизу екрану і просто зробити порожні рядки під ним?


2
Коли ваш курсор досягне останнього рядка файлу, якщо ви натиснете zzйого, він перемальовує екран і розміщує поточний рядок у центрі вікна, який повинен відображати кілька ~рядків після EOF.
user9433424

так, але якщо ви перемістите курсор, знову розташувавши його внизу.
Мігель Віра

3
Це здається, що у вас встановлений scrolloffваріант. Спробуйте, :set scrolloff=0і ця поведінка повинна змінитися.
Тумблер41

1
Ви можете прочитати свою відповідь тут: stackoverflow.com/questions/7406814/… Відповідей на це більше, в основному це неможливо, лише з обхідними шляхами.
Майк

Дійсно поведінку виправили! дякую
Мігель Віра

Відповіді:


16

Ви можете використовувати ctrlEдля прокручування файлу вниз, коли ви знаходитесь в кінці файлу, він додасть "віртуальний" рядок, тому останній рядок файлу не знаходиться внизу вікон.

Крім того, ви можете використовувати опцію, scrolloffщоб завжди пускати рядки після курсору, додавати це до свого .vimrc:

set scrolloff=10

Для отримання більш докладної інформації див :h 'scrolloff'і :h CTRL-E.


1
На жаль, встановлення scrolloffзначення 10 все ще не відображатиме рядки ПІСЛЯ EOF, як цього хотіла ОП.
Тумблер41

Дійсно, саме тому я запропонував використовувати CTRL-Eі scrolloffпросто «додаткові». Тепер це часткове рішення, ОП не може його прийняти, оскільки не відповідає повністю на питання.
statox

1
Хоча це лише часткове рішення, я думаю, CTRL-Eце те, що я шукав. Я хотів би, якби був спосіб відображення рядків після EOF автоматично, хоча.
Мігель Віра

@ Мігель Я радий, що відповідає вашим потребам. Я думаю, що можна створити карту, яка б дзвонила, <C-e>коли ви прокручуєте вниз, але я справді не впевнений, що це спрацює правильно ... Я спробую побачити, що можна зробити, але я не впевнений, що я ' Я зможу створити щось зручне.
statox

2

Найпростішим рішенням, на мою думку, було додавання zzдо jта k. Він має головний побічний ефект від центрування курсору. Я не заперечую і сильніше віддаю перевагу, щоб накрутити шию. Я спробував scrolloffі CTRL-Eпросто незручно.

Введіть наступне у :або .vimrc

nnoremap j jzz

nnoremap k kzz

Джерело: http://vim.wikia.com/wiki/Keep_your_cursor_centered_vertically_on_the_screen

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.