Często przewijanie całej strony jest zbyt dezorientujące, pół strony za dużo, ale ćwierć strony jest w sam raz. Obecnie robię to, przytrzymując klawisze strzałek.
Jak łatwo przewijać 25% strony w dół i w górę?
cursor-movement
scrolling
Louis Hong
źródło
źródło
Odpowiedzi:
Może ctrldi ctrlumoże być tym, czego szukasz. Domyślnie poruszają się o połowę ekranu.
Od
:h CTRL-D
:Co oznacza, że po raz pierwszy chcesz przewijać okno, XXctrldgdzie XX oznacza 25% liczby linii w oknie. Po
scroll
ustawieniu wartości XX można następnie użyć ctrldi ctrluprzesunąć 25% ekranu.Myślę też, że
:h scrolling
może to być dla ciebie interesujące.Edytować
A oto kolejne rozwiązanie z funkcją i mapowaniami do dodania do
.vimrc
:Funkcja uzyska wysokość bieżącego okna i zgodnie z jej parametrem przewinie ekran w górę lub w dół o jedną czwartą wysokości.
Odwzorowania będą wywoływać funkcję, pierwsza w górę, a druga w dół.
Oczywiście możesz zmienić
<up>
i<down>
niektóre inne klawisze, jeśli chcesz zachować domyślne zachowanie klawiszy strzałek.źródło
ctrl-E
ictrl-Y
mapowanie może mieć sens , ponieważ a). masz wtedy osobne skróty do przewijania 1/2 strony i 1/4 strony. b). zachowaniectrl-U
/ctrl-D
jest spójne i nie zależy od tego, czy wcześniej korzystałeś z mapowania.let key="^U"
w którym część pomiędzy podwójnym cudzysłowem ma reprezentować kod kluczactrl+u
. Więc jeśli skopiowałeś funkcję w vimie, umieść kursor na pierwszym podwójnym trafieniu w cudzysłów,ci"
aby zmodyfikować treść cytatów, a następnie wciśnij,ctrl+v
a następniectrl+u
w wierszu to samolet key="^D"
.let key="^Y"
zamiastlet key="^U"
. Stworzy to samo zachowanie, ale bez wpływu na'scroll'
ustawienie.Możesz używać ctrlei, ctrlyaby przesuwać stronę o jedną linię w górę iw dół.
Następnie, jeśli chcesz przenieść +/- 25%, możesz użyć, 20ctrleco spowoduje przesunięcie cię o 20 linii w dół.
Oto również dobrze wyjaśnione pytanie, które jest podobne do twojego: /programming/3458689/how-to-move-screen-without-moving-cursor-in-vim
źródło
I anyżową statox podejście tak przewija bardziej spójne ciągu linewraps. Jeśli chcesz ćwierć kroku, zmień 0,618 z powrotem na 0,25 lub cokolwiek innego.
źródło
Jeśli potrzebujesz dobrej ogólnej odpowiedzi, a nie dokładnej 25%, możesz wziąć pod uwagę normalną liczbę wierszy na stronie, podzielić przez 25 i ustawić niektóre odwzorowania systemowe. Na przykład, jeśli zwykle masz na ekranie około 100 linii na raz, to 25% z nich to 25 linii, dzięki czemu możesz ustawić mapowanie klawiszy na czymś takim jak duże J i K, aby szybko poruszać się w górę i w dół o 25 linii
Jeśli chcesz po prostu przeskoczyć do ćwiartki całego pliku, w trybie normalnym po prostu wpisz:
źródło
noremap J 25j
wiążą się dwie wady: ustalenie wartości na sztywno,25
dlatego np. Gdy na przykład podzielisz okno 100 linii w poziomie, twoje mapowanie będzie faktycznie poruszać się w 50% nowych okien. O twojej drugiej opcji:25%
nie wiedziałem, że ona istnieje, ale z moich testów wydaje się, że ustawia kursor na pozycji opartej na pierwszej linii: jeśli mam bufor 100 linii i chcę przejść, pisanie 25% do przodu:25%
przyniesie mi w linii 25 bez względu na to, gdzie był mój kursor. Czy możesz również umieścić temat pomocy opisujący tę funkcję, której nie mogę znaleźć w dokumencie?:h N%
:-)