Opcja + kliknij w iTerm

16

W Terminalu opcja + kliknięcie pozwala mi umieścić kursor w dowolnym punkcie bieżącej linii - idealne do edycji naprawdę długich poleceń.

Jak mogę to zrobić w iTerm2?

Aktualizacja: Według tej strony ta funkcja istnieje od wersji 0.7.0 (2003). Zauważyłem również, że jeśli przytrzymam Command + Option, kursor zmienia się w znajomy krzyż jak w Terminalu ... ale kliknięcie nadal nie zmienia położenia mojego kursora.

Jeff
źródło
Rzuciłem okiem na kod źródłowy i tak, ta funkcja była dostępna w wersji 0.7.0 iTerm (nie iTerm2). Został jednak skomentowany (w pliku PTYSession.m) w bagażniku (i prawdopodobnie także we wcześniejszych wersjach). I to iTerm2 funkcja jest nadal dostępna, ale pusta i dlatego nic nie robi.
boretom

Odpowiedzi:

6

Zastanawiałem się „How Hard Can It Be (c)”, aby go wdrożyć i wypróbowałem go dzisiaj.

Terminal.app wydaje się emulować sekwencje ESC „przesuń kursor do lewej / prawej”. Usłyszysz słynny „dźwięk”, jeśli spróbujesz umieścić kursor w zachęcie powłoki. Usłyszysz to tyle razy, ile jest nieprawidłowych ruchów.

Rozwiązanie w iTerm2 działa tak samo, wywołując odpowiednie sekwencje ESC. Chociaż wydaje sygnał dźwiękowy tylko raz, jeśli spróbujesz umieścić kursor w niewłaściwym obszarze;)

Wygląda na to, że Terminal.app nie jest w stanie obsługiwać monitów wieloliniowych, wydaje się, że działa tylko przejście do ostatniej linii. Podpowiedzi wieloliniowe w tej implementacji powinny być obsługiwane poprawnie.

Wyniki można znaleźć na github . To widelec oryginału z oczekującym żądaniem ściągnięcia. Gałąź, nad którą pracuję, nosi nazwę „zakodowane na stałe w opcji”.

I oczywiście jest to wysoce niesprawdzone. Oznacza to, że przetestowałem go tylko na moim MacBooku Pro z końca 2007 roku z systemem Mac OS X 10.7.3.

Jeśli chcesz go wypróbować, kompilując go sam lub pobierz prekompilowany plik binarny dla i386 / x86_64 / ppc iTerm_v1.0.0.git-085ec22c.zip ).

nudziarz
źródło
wow, świetne rzeczy! Wydaje się, że wcześniej skompilowany plik binarny działa dobrze na moim końcu, ale będzie miał na to oko. stukrotne dzięki!
Jeff
404 nie znaleziono ...
aeroxy
1
Hej @aeroxy, ta zmiana została połączona dawno temu w upstream iTerm ( github.com/gnachman/iTerm2/pull/77 ). Jakiś czas temu wyjąłem widelec, ponieważ był to jedyny, jaki istniał.
boretom
@boretom to wydaje się, że moje iterm2 3.1.5.beta.1 nadal ma podobny problem. Wygląda na to, że kiedy zrobię Opcje - kliknij, to po prostu przechodzi do ostatniego polecenia (strzałka w górę). apple.stackexchange.com/questions/305554/…
aeroxy
@aeroxy, jeśli działa znakomicie z 3.1.5.beta2 na moim macOS 10.12.6 z zaznaczonym „Opt-Click ruchy kursorem” zaznaczone w Preferencje> Wskaźnik. Chodzi o ustawienie kursora na bieżącej linii. Czy to właśnie próbujesz osiągnąć?
boretom
2

iTerm 2 nie jest nową wersją iTerm - bazując na tym samym kodzie źródłowym, pod maską wprowadzono poważne zmiany. Jedną z rzeczy, które zostały usunięte lub zepsute (trudno rozmawiać z intencją dewelopera) było ustawienie kursora.

Nie jesteś jedynym, który zauważył to pominięcie; został zgłoszony jako błąd od kwietnia 2011 roku i nadal przyciąga uwagę. Najlepszą opcją dla uzyskania tej funkcji (oprócz uruchomienia jej w GitHub lub przejścia do innej aplikacji) jest przesłanie komentarza na stronie Google Code powyżej. Mam nadzieję, że przy wystarczającym zainteresowaniu ta funkcja wróci do produktu.

David
źródło
1

Najnowsza wersja iterm2 (używam kompilacji 2.9.20150812-nightly) ma tę funkcję, ale aby działała z wieloma liniami, musisz włączyć integrację powłoki, jak opisano na https://gitlab.com/gnachman/ iterm2 / Issues / 3638 .

Aby zainstalować najnowszą wersję iTerm, używam naparu i wykonuję następujące czynności:

brew tap caskroom/versions && brew cask install iterm2-nightly

Ben Creasy
źródło
1

Moja odpowiedź jest testowana w 2019 roku z iTerm2.

Przejdź do Ustawienia> Profile, wybierz żądany profil (może być domyślny, musisz powtórzyć dla każdego z nich), wybierz kartę „Klawisze” i zmień zachowanie klawiszy LEWEJ i PRAWEJ (Alt) do Esc +

wprowadź opis zdjęcia tutaj

To jest faktycznie w ich FAQ:

P: Jak sprawić, aby klawisz Opcja / Alt działał jak Meta lub wysyłał kody ucieczki? Odp .: Przejdź do Preferencji> zakładka Profile. Wybierz swój profil po lewej, a następnie otwórz kartę Klawiatura. Na dole znajduje się zestaw przycisków, które pozwalają wybrać zachowanie klawisza Option. Dla większości użytkowników Esc + będzie najlepszym wyborem.

PREMIA

Jeśli pytasz o opcję (Alt) + kliknięcie, zakładam, że chcesz również, aby opcja (Alt) + Backspace działała.

W tym samym interfejsie użytkownika (panel Klawisze) kliknij przycisk „Załaduj ustawienie wstępne” i wybierz „Edycja tekstu naturalnego”. Powtórz to dla każdego ze swoich ustawień.

Teraz będziesz działał zarówno Option + kliknięcie, jak i Option + backspace.

sandre89
źródło