Jako użytkownik Linuksa czułem się całkiem dobrze z narzędziami CLI i TUI, ale brakuje mi małego paska przewijania obecnego w prawie każdym programie GUI. Zawsze łatwiej mi było dowiedzieć się, jak długi jest plik i gdzie jestem z paska przewijania zamiast „9752 linii, 24%”.
Oczekuję, że wygląda pasek przewijania ASCII
| | | | # # # | | |
i mogę skonfigurować, aby pojawiał się po lewej lub po prawej stronie (a jeśli po lewej, względna pozycja do numerów linii i znaków zagięcia). Czy jest już dostępna wtyczka Vima do tego celu lub jak mogę napisać własną? Struktura wtyczek Vima nie wydaje się bezpośrednio obsługiwać takich modyfikacji interfejsu użytkownika.
Można użyć linii statusu jako paska przewijania. Kiedyś miałem w moim .vimrc, który emuluje pasek przewijania (również jest tylko w poziomie, ale działa zaskakująco dobrze). Zostało to pierwotnie omówione na liście mailingowej vim_use kilka lat temu.
Upewnij się, że masz
laststatus
opcję ustawioną na 2.źródło
Moja próba odkupienia mojej wcześniejszej faux pas ....
Podobał mi się ten pomysł, więc dzisiaj napisałem wtyczkę do VIM-a, która pokazuje „kciuk” paska przewijania za pomocą funkcji znaków vima.
To wciąż BARDZO wersja beta, ale teraz jest użyteczna, wciąż mam nad tym do zrobienia, w tym pisanie wszystkich dokumentów, komentarzy i innych rzeczy.
Zamieszczę tutaj źródło, ale możesz pobrać je z mojego repozytorium Hg . (Nie śmiej się zbyt mocno z innych rzeczy)
Pamiętaj ... BARDZO w wersji beta, biorąc pod uwagę, że nigdy wcześniej nie pisałem wtyczki, tylko przez lata zagłębiałem się w VimL. (mniej niż 12 godzin od koncepcji do działającego prototypu! tak!)
Nadal będę nad tym pracować, trochę fajnie. Kolory są jaskrawe z jakiegoś powodu, łatwo zobaczyć, jakie zmiany. Ma teraz duży błąd, nie można sprawić, że wszystkie znaki znikną, wyłączając go. Wiem, jak to wdrożyć, chciałem się tylko podzielić.
Zdjęcia są przydatne:
Pasek przewijania VIM Curses - v0.1 - L Nix - [email protected] Hg Repo
źródło
guioptions
i jak jasno stwierdza pomoc, działa to tylko w wersji GUI vima.Nie jest to idealne rozwiązanie, ale możesz dowiedzieć się, gdzie w pliku znajdujesz się w linii statusu za pomocą czegoś takiego
lub używając
set number
numeru linii przed każdą linią.Jeśli nie zmodyfikowałeś źródła vima (ncurses), to nie sądzę, że jest to możliwe, ale mogę się mylić.
źródło
Oto wersja, którą można przeciągać myszą. Aktualizuje się także tylko wtedy, gdy używane jest kółko przewijania - jeśli potrzebujesz paska przewijania, i tak ręka powinna znajdować się na myszy.
źródło
:call UpdateScrollbox()
działa, ale nie jest przyjazny dla użytkownika. Może potrzebować haczyków na wszystkich klawiszach ruchu, a najlepiej jednego haka na zdarzeniu przewijania, jeśli to możliwe.