Jak sprawić, by Vim zawsze wyświetlał kilka linii po EOF?


15

W Vimie nie podoba mi się, jak po osiągnięciu końca pliku umieszcza ostatnią linię na dole ekranu.

Czy w ogóle istnieje możliwość, aby ostatnia linia znajdowała się około 10 linii nad dolną częścią ekranu i po prostu tworzyła puste linie pod nią?


2
Gdy kursor dojdzie do ostatniego wiersza pliku, naciśnięcie zzgo przerysuje ekran i ustawi bieżącą linię na środku okna, która powinna wyświetlać kilka ~linii po EOF.
user9433424

tak, ale jeśli ponownie poruszysz kursorem, ponownie ustawisz go na dole.
Miguel Vera,

3
Wygląda na to, że masz scrolloffustawioną opcję. Spróbuj, :set scrolloff=0a to zachowanie powinno się zmienić.
Tumbler41

1
Możesz przeczytać swoją odpowiedź tutaj: stackoverflow.com/questions/7406814/... Istnieje więcej odpowiedzi na to pytanie, w zasadzie nie jest to możliwe, tylko z obejściami.
Mike

Rzeczywiście zachowanie zostało poprawione! dziękuję
Miguel Vera,

Odpowiedzi:


16

Możesz użyć, ctrlEaby przewinąć plik w dół, gdy znajdziesz się na końcu pliku, doda on linię „wirtualną”, dzięki czemu ostatni wiersz pliku nie będzie na dole okna.

Dodatkowo możesz użyć opcji, scrolloffaby zawsze pozwalać niektórym wierszom za kursorem, dodać to do .vimrc:

set scrolloff=10

Aby uzyskać więcej informacji, patrz :h 'scrolloff'i :h CTRL-E.


1
Niestety, ustawienie scrolloffna 10 nadal nie pokaże linii PO EOF, tak jak chciał PO.
Tumbler41

Rzeczywiście, dlatego zasugerował użycie CTRL-Ei scrolloffwłaśnie „dodatkowe”. Teraz jest to rozwiązanie częściowe, OP może go nie zaakceptować, ponieważ nie do końca odpowiada na pytanie.
statox

1
Chociaż jest to tylko częściowe rozwiązanie, myślę, że CTRL-Etego właśnie szukałem. Bardzo bym chciał, gdyby istniał sposób automatycznego wyświetlania linii po EOF.
Miguel Vera,

@Miguel Cieszę się, że pasuje do twoich potrzeb. Myślę, że można stworzyć mapowanie, które będzie wywoływane <C-e>podczas przewijania w dół, ale tak naprawdę nie jestem pewien, czy zadziałałoby poprawnie ... Spróbuję zobaczyć, co można zrobić, ale nie jestem pewien Będę mógł stworzyć coś wygodnego.
statox

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.