Vim i mysz z ssh od Maca do Linuksa

9

Na pewno wiem, że można uruchomić mysz w Vimie podczas sesji zdalnej na komputerze z systemem Linux z mojego komputera Mac, ale nie wiem, jak to zrobić.

Daily vim podpowiada, jak to działa, ale jeśli na przykład spróbuję ustawić „mac-ansi”, pojawia się błąd informujący, że mogę określić tylko wartości zaczynające się od wbudowanego_ (riscos, beos-ansi itp.). Próbowałem używać ssh -X, w połączeniu z set mouse=ai set term=builtin_ansona przykład, ale bezskutecznie z ich połączeniem lub bez.

Używam Snow Leopard i próbuję użyć myszy na maszynie Debiana z vimem 7.1.314. Przejrzałem dokumentację, ale nie mogę jej uruchomić. Jakieś wskazówki?

Jonatan Littke
źródło
Porady na temat tego codziennego postu vim są całkowicie błędne, jeśli chodzi o tę 'term'opcję. Jest bardzo niewiele okoliczności, w których należy zmienić tę opcję w Vimie zamiast ustawić terminalowi poprawną wartość dla $ TERM. Komentarz Spectrala jest słuszny.
jamessan

Odpowiedzi:

15

Nie sądzę, że Terminal.app obsługuje raportowanie myszy xterm, które jest potrzebne do działania myszy. Istnieje kilka opcji uzyskania terminala z funkcją raportowania myszy.

  • iTerm to alternatywny program terminalowy, który obsługuje raportowanie myszy
  • MouseTerm to hack, aby dodać raportowanie myszy do Terminal.app, ale nie próbowałem tego i nie wiem, jak dobrze to działa
  • Możesz także zainstalować X11 i użyć prawdziwego Xterma

Gdy masz już jedną z nich, :set mouse=a(być może będziesz musiał :set term=xterm) i powinieneś być w biznesie.

Geoff Reedy
źródło
1
MouseTerm rozwiązał problem. Obecnie obsługują kliknięcia myszą i zdarzenia przewijania. Właśnie zainstalowałem SIMBL + MouseTerm i uruchomiłem set mouse = a w Vimie na moim zdalnym komputerze i działało.
Jonatan Littke,
1
+1 za: ustawianie myszy = a in vim. Z Putty działającym w systemie Windows nie jest wymagana żadna inna konfiguracja. Nie mogę uwierzyć, że tak długo korzystam z klawiatury.
Cheesington,
6

Aby korzystać z Terminal.app za pomocą myszy, musisz użyć Alt-kliknięcie zamiast kliknięcia.
Na przykład w vimie ustaw mysz = a następnie użyj Alt-kliknięcie, aby ustawić kursor.

Działa to przez ssh, chociaż nie pozwala na zmianę rozmiaru okien (vim). Tracisz także możliwość wycinania z innych okien i wklejania do okna terminala.

dschult
źródło
1

Nie mam odpowiedzi, ale mogę podzielić się tym, czego nauczyłem się podczas miesięcy poszukiwania odpowiedzi. Jestem dużym użytkownikiem vim i GNU screen nad ssh. Jak na ironię, przysięgam na te programy, ponieważ mogę ich używać zdalnie bez myszy, ale prawie zrezygnowałem z OS X, ponieważ nie zapewnia mi łatwego sposobu używania ich zdalnie za pomocą myszy.

Tak czy inaczej, oto co znalazłem:

  • xterm działający pod X11.app może być wykorzystywany do zgłaszania zdarzeń myszy i działania zgodnie z potrzebami. Niestety xterm nie ma wielu funkcji iTerm i Terminal.app. Wykonanie czegoś tak prostego, że zmiana czcionki w xterm wymaga odrobiny czarnej magii.
  • iTerm podobno może pomieścić pożądaną funkcjonalność, ale nigdy nie udało mi się go uruchomić. iTerm miał również poważne problemy z wydajnością, kiedy kilka miesięcy temu wskoczyłem na statek do Terminal.app. Aktualizacje ekranu odbywały się powoli i zajęłoby 25% CPU po prostu siedzenie bezczynnie.
  • W rzeczywistości próbowałem użyć rozebranej maszyny Wirtualnej Ubuntu działającej pod VMWare jako mojej aplikacji terminalowej. Skonfigurowałem go tak, aby uruchamiał się na pełnoekranowym terminalu Gnome z fluxboxem jako menedżerem okien. Zrezygnowałem z tego rozwiązania, ponieważ nie działało to dobrze ze Spaces i kosztem uruchamiania VMWare.

Teraz po prostu nigdy nie oddalam się od prawdziwego Linux-a, od czasu do czasu używam vima przez Terminal.app, aby zachować szczerość - jeśli nie pamiętam naciśnięć klawiszy nawigacyjnych, równie dobrze mogę używać Visual Studio.


źródło
0

Oprócz odpowiedzi Geoffa, oto inne możliwe rozwiązanie:

MacVim + NetRW dla vim .

MacVim ma wbudowaną obsługę myszy, a NetRW to moduł vim, który umożliwia zdalną edycję vim scp://host/path/to/file. Więc po prostu uruchom MacVima i połącz się z plikiem, edytuj go i zapisz zdalnie.

Być może zainteresuje Cię trochę ulepszenie GUI, zobacz moje powiązane pytanie dotyczące SO.

Jonatan Littke
źródło