Używam Vima do edycji angielskich plików tekstowych z> 10.000 słów i długich akapitów. Pliki są sformatowane jako zwykły tekst, a każdy akapit to długa linia. Korzystam z opcji wrap
i wiążę odpowiednio j
i na gj
i gk
, dzięki czemu mogę poruszać się liniami wyświetlania.Vim, długie linie i przewijanie
Jeśli mój kursor znajduje się na górze ekranu (ale nie na początku dokumentu) i przesuwaję kursor w górę (przy użyciu gk
), ekran przewija się do góry, aby wyświetlić całą długą linię (akapit 300 słów)). Problem polega na tym, że z powodu długości linii powoduje to przesuwanie ekranu o połowę względem ekranu. Jest to dezorientujące, ponieważ nie wiem wcześniej, jak bardzo ekran się poruszy. Przewijanie z ^Y
ma ten sam problem.
Czy istnieje sposób na sprawienie, aby Vim przewinął się tylko o jedną linię wyświetlania podczas korzystania z gk
i jej ilków? Jest to bardziej naturalne w przypadku edycji kodu niezawierającego kodu źródłowego i domyślnego zachowania w większości edytorów tekstu, a także w edytorach tekstu, ale nie w Vimie. Myślę, że oznaczałoby to, że Vim musiałby przestać nalegać na pokazanie całej linii, którą edytuję.
Było kilka pytań już na ten temat ; Nie przypominam sobie teraz, jakie były wnioski, ale czy próbowałeś tylko podzielić akapity. 10000 słów nie jest tak naprawdę zwykłą definicją zdania (lub akapitu). – Rook
Paragrafy mają długość 300 słów, zdania są oczywiście krótsze; dla Vima akapit jest po prostu linią (linia nie jest identyczna z zdaniem). Cały dokument zawiera 10 000 słów. Oczywiście nie jest możliwe pisanie krótszych akapitów ze względu na przewijane zachowanie edytora! Jeśli przypomnisz sobie poprzednią dyskusję o moim problemie, byłbym wdzięczny za wskaźnik - wszystko, co mogłem znaleźć, to pytania o 'wrap',' gj' i 'gk'. – loevborg
To było długotrwałe ograniczenie Vima. Wyszukaj w Google hasło "vim scrolling wrapped line": wydaje się, że było to powszechne żądanie z ostatnich 10 lub 15 lat. Nie ma znanych, eleganckich rozwiązań, może Vim nie jest właściwym narzędziem do tej pracy? – romainl