2011-12-03 8 views
15

Mogę dostać się do dolnej części okna, aby wyświetlić częściowe linie, ustawiając display = lastlineW vimie, jak przewijać, w sposób ciągły, liniami ekranu, gdy włączona jest funkcja owijania?

Czy istnieje podobna opcja, która umożliwia wyświetlenie częściowych linii w górnej części okna?

Bez tej funkcji mój vim wciąż przewija (w dół) o więcej niż jedną linię ekranu, gdy wyświetlana najwyższa linia pliku jest pakowana w wiele linii ekranu.

Na przykład w poniższym scenariuszu, po naciśnięciu C-E, mój vim zostanie przewinięty o 3 wiersze ekranu. Czy istnieje sposób, aby przewinąć tylko o 1 linię ekranu tak, aby tylko pierwsze dwa słowa w linii 1 były ukryte, ale kolejne 3 słowa są nadal wyświetlane? Będzie to bardzo przydatne przy edycji długich akapitów tekstu.

Uwaga: mam na myśli przewijanie całego ekranu, a nie ruch kursora.

 
------------------ 
1 abcdefg abcefg 
    abcasdfsa sdfsf 
    sdfc 
2 adfadf 
3 adfadf 
4 adfadf 
------------------ 
+4

Proponuję najpierw zaakceptować odpowiedzi na poprzednie pytania, które sprawią, że wszyscy będą bardziej zainteresowani Twoim problemem. – deviousdodo

+0

możliwy duplikat [vim moving with hjkl w długich linijkach (liniach ekranu)] (http://stackoverflow.com/questions/4946421/vim-moving-with-hjkl-in-longlines_line-lines-lines) (lub zobacz http://stackoverflow.com/search?q=vim+move+screen+lines) – sehe

+0

@draevor dzięki za poradę. Nie zauważyłem, że wcześniej było zaznaczenie :) – neuron

Odpowiedz

7

Nie sądzę, że można zrobić dokładnie to, co chcesz.

Oto opis uzyskać po wpisaniu :help CTRL-E

               CTRL-E 
CTRL-E      Scroll windows [count] lines downwards in the buffer. 
          Mnemonic: Extra lines. 

pamiętać, że mówi, że to jest przewijanie okna, ale również wspomina, że ​​jest przewijanie linii w buforze. Naprawdę przewijasz tylko jedną (owiniętą) linię naraz.

Nie sądzę, że jest inny sposób obejścia tego.

można uzyskać w dolnej części okna, aby wyświetlić częściowe linie ustawiając wyświetlacz = lastline

myślę display=lastline jest fałszywe rozwiązanie - nadal przewijać taką samą kwotę, po prostu trzeba się bardziej widoczne.

Prawdziwym sposobem rozwiązania tego celu jest wyłączenie zawijania:

:set nowrap 

Edit

Niektóre pokrewne wątki, które pokazują, że „przewijanie za pomocą linii ekranu” funkcja jest pod uwagę , ale zajmie to trochę czasu:

+1

Ten rodzaj stanowi problem, jeśli masz linię, która jest tak długa, że ​​kiedy opakowanie nie mieści się w twoim oknie:/(przypadek na granicy, ale nadal ... – Rook

+4

@ldigas: Zdarzyło mi się to wiele razy , więc nie wiem, ile naprawdę jest przypadku granicznego.Myślę, że 'display = lastline' częściowo rozwiązuje problem z wyświetlaniem, ale z pewnością nie jest to kwestia użyteczności –

+0

@ MerlynMorgan-Graham Dzięki za informację! powinien po prostu trzymać się jakiegoś innego edytora do edycji długich akapitów. – neuron

1

Dla każdego, kto czyta ten wątek:

This thread na Stack Exchange Network Vi oferuje nieco hacky (ale użyteczny) rozwiązanie przewijanie wizualnej całej zawiniętych linii.

Powiązane problemy