Przewijanie wewnątrz Vima w terminalu Maca


89

Szukałem w Google, próbując dowiedzieć się, czy można użyć kółka myszy do przewijania w Vimie w terminalu Maca, bez powodzenia. Wygląda na to, że tylko X11 lub iTerm to obsługują.

Zanim się poddaję, pomyślałem, że spróbuję tutaj geniuszy, aby sprawdzić, czy ktoś zna sposób na zrobienie tego. Czy ktoś wie, czy mogę to ustawić?

A może powinienem poważnie rozważyć użycie innej aplikacji terminalowej?


Czy możesz to zrobić na innych platformach lub w edytorach terminali? Gdyby istniała implementacja VI oparta na X, myślę, że mogłaby to obsługiwać, ale czy nie wolałbyś mieć obsługi myszy przewijania do kontrolowania bufora przewijania?
benc

W terminalu Ubuntu można przewijać, dlatego pytałem, chciałem sprawdzić, czy mogę mieć taką samą funkcjonalność na moim Macu.
hora

1
@hora - możesz, po prostu użyj iterm. Dostajesz również 256 kolorów, rozsądne kopiowanie i wklejanie itp.
robince

Odpowiedzi:


68

http://bitheap.org/mouseterm/

Użyj MouseTerm (i pamiętaj, aby najpierw zainstalować SIMBL!), A przewijanie będzie działać jak urok, nawet zdalnie, za pomocą terminala Mac.

Musisz całkowicie zamknąć aplikację Terminal (Command + Q), a następnie uruchomić ją ponownie po zainstalowaniu MouseTerm.


2
Wow, właśnie tego szukałem. W międzyczasie przyzwyczaiłem się do NIE używania myszy, ale jest to nadal przydatne.
hora

8
W przypadku orzechów vim dodanie a set mouse=ado .vimrc działa jak urok z MouseTerm
Panagiotis Moustafellos

5
Jeśli szukasz SIMBL i próbujesz zmusić go do pracy w Lion, wypróbuj EasySIMBL: github.com/norio-nomura/EasySIMBL/downloads
Zachary Murray.

2
może potwierdzić, że EasySIMBL + MouseTerm działa również na Mavericks
jcr

2
Najnowsze wydania EasySIMBL są już dostępne (obecnie 1.6): github.com/norio-nomura/EasySIMBL/releases
Nathaniel Heinrichs

99

A jeśli używasz iTerm, dodaj to do swojego vimrc

:set mouse=a

6
Działa również dla domyślnej aplikacji terminalowej OSX.
Ian

24

To stare pytanie, ale najpopularniejsze w Google, więc czuję się zmuszony do udzielenia zaktualizowanej odpowiedzi.

Uruchamianie OSX El Capitan 10.11, mysz vim i przewijanie gładzika po prostu działały (TM) domyślnie w Terminal.app. Jednak czasami wejście myszy / gładzika przestało manipulować buforem vim i zaczęło przewijać bufor terminala. Odpowiedzią było Command+Rlub Widok menu -> Zezwalaj na raportowanie myszy. Włączenie tego pozwoliło operacjom przewijania myszy / gładzika przesuwać kursor w vimie.


Hej, zdałem sobie sprawę, że błędnie spróbowałem raz nacisnąć Command + R zamiast Control + R, aby uzyskać ostatnie polecenia! To chyba to, co mnie dopadło. Dzięki!
Teddy

6
  • Termanal Menu> Widok> Zezwalaj na raportowanie myszy
  • Menu terminala> Preferencje> Klawiatura> Przewiń alternatywny ekran

4

Możesz przeczytać ten artykuł , ale jestem prawie pewien, że ponieważ domyślny terminal w Mac OS X ma wbudowany pasek przewijania, polecenia kółka myszy automatycznie do niego przechodzą. Zdecydowanie możesz użyć gVima, jak sugerowano w poprzedniej odpowiedzi. Uważam, że generalnie nie chcę używać myszy w Vimie, ponieważ odrywa ona moje ręce od klawiatury.

Po prostu 50jschodzę i 50kwychodzę. Niezupełnie przewijanie, ale działa całkiem nieźle.


Dzięki, to nie jest dokładnie przewijanie, ale myślę, że to lepsze, ponieważ moje ręce są zawsze na klawiaturze.
hora

@hora - Tak, przewijanie byłoby na pewno fajne, ale niestety nie sądzę, aby było to wykonalne.
Topher Fangio

13
Lub użyj CTRL + f i CTRL + b, aby przechodzić do przodu i do tyłu o jeden ekran naraz. Lub CTRL + di CTRL + u, aby przejść w górę i w dół o pół ekranu.
Dan Dyer

To nie tylko przewijanie - masz również możliwość zaznaczania wizualnych zaznaczeń za pomocą myszy, przesuwania granic okien itp. To w zasadzie sprawia, że ​​program graficzny jest zbędny i jest świetny do pracy na zdalnej maszynie.
robince

@thrope - To prawda, używam tego dość często. vdla trybu wizualnego, a następnie zaznacz tekst, który chcę. Jednak zwykle potrzebuję całej linii lub zestawu linii, więc aby uniknąć problemów z wklejaniem nowej linii, generalnie po prostu liczę linie i naciskam, ddaby je usunąć. Czasami trochę wolniej, ale do tego się przyzwyczaiłem.
Topher Fangio


2

Upewnij się, że terminal jest xtermi nie ansiw Terminal Menu > Preferences > Profiles > Advanced. Przypadkowo przerwałem przewijanie, zmieniając typ terminu w naiwnym wysiłku, aby kolorowanie działało przez ssh.


1

Użyj gVim, który daje ci środowisko edycji tekstu w oknie, które możesz przewijać. Terminal nie jest zaangażowany podczas używania gVim.


2
Niezbyt istotne - może uzyskiwać dostęp do vima na innej maszynie (przez ssh) - W każdym razie na Macu preferowaną wersją graficzną jest macvim code.google.com/p/macvim
robince

1

Używam xterm w X11 (XQuartz 2.3.4) i vim działa bardzo dobrze z myszą, a także obsługuje 256 kolorów.

Oto ~ / .Xresources, których używam, aby mój xterm był ładniejszy w X11:

XTerm*faceName: Lucida Sans Typewriter Regular
XTerm*faceSize: 9
XTerm*utf8: 1

xterm*saveLines: 1000
xterm*jumpScroll: true
!xterm*awaitInput: true
!xterm*multiScroll: true

XTerm*scrollBar: false
xterm*scrollbar*thickness: 16
xterm*rightScrollBar: true

XTerm*foreground: white
XTerm*background: grey10
!XTerm*background: black
XTerm*cursorColor: yellow

xterm*visualBell: false

xterm*loginShell: true

Małe wskazówki, aby usunąć dźwięk dzwonka w xterm X11, wpisz to polecenie:

xset b 0

Próbowałem xterm, nie jestem wielkim fanem, chociaż nie wiem dlaczego, jest w nim coś, co mnie zniechęca. Może spróbuję jeszcze raz.
hora

Jedyne, co się zmienia, to kopiowanie i wklejanie. Wklejanie odbywa się za pomocą środkowego kliknięcia myszy (lub alt + kliknięcie), a kopiowanie odbywa się po prostu przez wybranie tekstu. Oczywiście w vimie będziesz musiał wyłączyć mysz, aby móc skopiować coś poza X11 lub wkleić coś spoza X11 lub vima, jednocześnie nadpisując zachowanie myszy X11.
XPac27

1

Polecam korzystanie z iTerm - ma tak wiele zalet w porównaniu z Terminalem, np. Obsługa myszy, 256 kolorów, rozsądne kopiowanie i wklejanie (automatyczne kopiowanie, wybór słowa / adresu URL podwójnym kliknięciem, wklejanie środkowym kliknięciem) ...


Czy w iTerm są wbudowane schematy kolorów? Jak zmienić kolory, nie mogę tego rozgryźć ... Okno dialogowe „pokaż informacje o sesji” nie pozwala mi na zapisywanie różnych profili.
hora

Tak, konfiguracja konfiguracji jest trochę zabawna ... Idź do Zakładki -> Zarządzaj profilami -> Wyświetl profile i możesz ustawić kolory. Następnie przejdź do Zakładki -> Zarządzaj zakładkami i ustaw domyślne lub dowolny, który chcesz użyć profilu wyświetlania, który chcesz.
robince

Nie mogę nawet użyć opcji + strzałka w lewo, aby cofnąć słowo na raz w iTerm. Żartujesz sobie teraz ze mnie?
IIllIIll

-1

Używając iTerm, utwórz plik .vimrc (jeśli jeszcze go tam nie ma) w katalogu domowym i dodaj wiersz:

:set mouse=a

Przewijanie w dół w vimie, aby wyświetlić plik, działa po tym.


Ta odpowiedź jest bezpośrednim duplikatem odpowiedzi opublikowanej ponad rok wcześniej.
moopet
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.