Właśnie zauważyłem, że przewijanie gładzika działa w Vimie, bezwładności i wszystkim. Chciałbym to zmienić, aby działało w poziomie - więc mogę przewijać w górę i w dół, aby kursor poruszał się w lewo i prawo zamiast przytrzymywać prawy klawisz strzałki przez długi czas.
Jak zmapować moje przewijanie do ruchu w lewo / w prawo?
wWeE$)}
itp.), A jeśli używasz klawiszy strzałek, zdecydowanie używasz Vima źle.Odpowiedzi:
Zgodnie
:help scroll-mouse-wheel
z odpowiedzią nie, jeśli używasz GUI Win32.Z drugiej strony, przy użyciu graficznego interfejsu użytkownika X11 lub konsoli vim z obsługą myszy, koło wysyła naciśnięcia klawiszy, które można odwzorować.
Możesz uzyskać zachowanie, które opisujesz
Zauważ, że używam
nmap
do mapowania w trybie normalnym.Aby uzyskać podobne zachowanie w innych trybach, możesz odwzorować kierunek zamiast normalnego klawisza. Np. Dla ruchu w trybie wstawiania:
Aby ustawić je jako domyślne, przyklej je na dole vimrc.
źródło
Wymyśliłem sposób na zrobienie tego dzięki Hammerspoon i sprytnemu użyciu mapowania.
Pierwszą częścią jest konfiguracja Shift+ ScrollUpi Shift+ ScrollDowndo przewijania w poziomie. Aby to zrobić, umieściłeś następujący fragment kodu w swoim
.vimrc
:Pamiętaj, że musimy używać
<S-2-ScrollWheelUp>
i tym podobnych, ponieważ są one wysyłane jako klucze do terminala. Nie znalazłem dokumentacji na ten temat (zorientowałem się, używając Ctrl+ Vpodczas przewijania w trybie wstawiania).Następnie musimy ponownie mapować zwoje poziome na Shift+ zwoje pionowe. Aby to zrobić, umieszczamy następujący fragment w Hammerspoon's
init.lua
Tworzymy
scrollBind
zmienną tylko po to, aby obserwator naciśnięć klawiszy nie był usuwany przez moduł wyrzucający śmieci Lua.źródło
Jeśli korzystasz z MacVim na OS X, będzie to działać z gładzikiem:
źródło