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.


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 ).


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.




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


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.

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.