Jak przeskoczyć do lokalizacji za pomocą myszy na iTerm / terminal?
43
Przez większość czasu pracuję na terminalu.
Czy istnieje aplikacja / wtyczka nad iTerm lub inną aplikacją podobną do terminala, za pomocą której mogę kontrolować położenie kursora mojego terminala za pomocą myszy?
Chciałbym przeskoczyć do kursora. Przypadek użycia, jeśli mam długą linię ograniczoną spacją, chciałbym przeskoczyć do określonej lokalizacji. używanie klawiatury wymaga wielu naciśnięć klawiszy.
Sairam
Jeśli już używasz terminala, prawdopodobnie doceniasz klawiaturę. Naucz się skrótów klawiaturowych, aby przeskakiwać na przód / tył wiersza i poruszać się po słowie, a to pozwoli Ci zaoszczędzić wiele naciśnięć klawiszy i prawdopodobnie będzie szybsze niż mysz.
Przynajmniej w Terminal.app możesz przytrzymać, optionklikając, aby przeskoczyć w bieżącej linii (to tak naprawdę oznacza tylko linię, więc jeśli twój bieżący monit jest tak długi, że zawija się do drugiej linii wejściowej, musisz optionkliknąć na początek „drugiej” linii, a następnie przeskocz za pomocą klawiszy strzałek do „pierwszej” linii, w której możesz optionponownie kliknąć).
Kliknij opcję, interesujące. Nigdy wcześniej tego nie wiedziałem. Pamiętaj jednak, aby kliknąć linię, cholera. Nawet nie rozumiem, co się dzieje, gdy klikam powyżej / poniżej bieżącej linii. Zakładam, że naciska to wiele razy, ale jestem prawie pewien, że historia poleceń nie do końca pasuje.
Jason Salaz
Cóż, odczytuje tylko liczbę kolumn, w których kiedykolwiek klikasz i przeskakuje do tej pozycji w bieżącej linii (!); więc jeśli znajdziesz się na końcu zawiniętego monitu (powiedzmy wiersz 2: kolumna 45) i klikniesz opcję w pierwszym wierszu (powiedzmy wiersz 1: kolumna 4), skończysz w kolumnie 4 (świetnie), ale pozostań w linii 2 (źle!).
Asmus
2
Sposób, w jaki działa Option-Click, polega na tym, że wydaje odpowiednik danych wprowadzanych klawiszami strzałek. Działa to dobrze w edytorach takich jak emacs, ale jeśli jesteś w linii poleceń bash, interpretuje on w górę / w dół jako „poprzednie / następne polecenie w historii”. Tak więc, jeśli klikniesz z wciśniętym klawiszem Option w dowolnym miejscu oprócz tego samego wiersza, który zawiera monit, bash przejdzie do historii poleceń zamiast przesuwać kursor.
Chris Page
Działa w iTerm2.
Ahmet Alp Balkan
9
Minęło sporo czasu, odkąd pojawiło się to pytanie, a ja już wspomniałem poniżej na tej platformie w Option-kliknięciu w iTerm i narzędziu do śledzenia problemów iTerm2, ale może jest to pomocne dla jednego lub drugiego:
Cześć, chciałem tylko poinformować, że zaimplementowałem tę funkcję w iTerm2. Nie ma go jeszcze w oficjalnym repozytorium iTerm2, ale jeśli chcesz go wypróbować, możesz go znaleźć na github .
Ponieważ jest testowany tylko przeze mnie, uważaj go za niestabilny. Testowałem to za pomocą bash, vi i emacs i starałem się przypominać zachowanie Terminal.app.
Czy raportowanie myszy uległo awarii w ostatniej wersji? To już dla mnie nie działa, nie widzę kursora „o” i nie wiem, jak go odzyskać.
Michael
Cofam tamto. Raportowanie za pomocą myszy nie działa tylko w niektórych przypadkach - na przykład, jeśli ssh na innym komputerze, to dołącz do sesji tmux, na której już działa emacs. To kiedyś działało. Teraz czasami musisz wyjść z emacsa i uruchomić go ponownie, zanim raportowanie myszy zadziała ...
Michael
Wydaje się, że idzie tylko do pozycji w dowolnym miejscu na bieżącej linii. Czy możliwe jest kliknięcie w dowolnym miejscu aktywnego polecenia?
Skeleton Bow
6
Klawiatura jest często najlepszym przyjacielem. W konfiguracji domyślnej powłoka kontroluje większość sposobu poruszania się po wierszu polecenia.
Option+ bcofa słowo (kursor kończy się na pierwszej literze poprzedniego słowa).
Option+ fprzesuwa słowo do przodu (kursor będzie znajdował się przy znaku nieliterowym PO następnym słowie).
Shift+ Fn+ Left Arrow (←)umieści kursor na samym początku linii. ( Ctrl+ arównież to zrobi.)
Shift+ Fn+ Right Arrow (→)umieści kursor na samym końcu linii. ( Ctrl+ erównież to zrobi.)
I zacznę trafienia Option+ bkursor zatrzyma się na A w dziedzinie, o w wydajnością, d w rozmieszczania itp
Jeśli przejdę do początku linii i zacznę naciskać Option+ f, kursor zatrzyma się na spacji po rsync, spacji po avz, spacji po postępie, / po witrynach itp.
Podoba mi się twoje rozważne rozwiązanie „problemu XY”. Chociaż nie odpowiada na pierwotne pytanie, jest to bardzo godna alternatywa. Czy jednak celowo mówisz CMD + bi opcja + b?
Cornelius Roemer
1
Nie, to był błąd z mojej strony. Polecenie nigdy nie powinno być tutaj użyte, ponieważ kontroluje zachowanie okna terminala, a nie zachowanie powłoki / ruchu.
Jason Salaz
5
W iTerm2 przytrzymujesz klawisz alt (lewy lub prawy) i kliknij, aby przesunąć kursor do dowolnej pozycji w dowolnej linii.
Jeśli jesteś szczególnie zainteresowany ruchem w Vimie, możesz dodać set mouse=ado swojego ~/.vimrcpliku.
Działa w iTerm dla ruchu. Pozwala także oznaczać sekcje tak, jakbyś wszedł w tryb wizualny, dzięki czemu możesz szarpać lub usuwać go lub komentować kod w zależności od wtyczek.
Bardzo wygodnie pozwala także szybko przewijać duży dokument za pomocą suwaka lub palca myszy.
Jedyną wadą jest to, że utrudnia zaznaczenie tekstu, który chcesz skopiować, do wykorzystania w innych aplikacjach - chociaż wszystko, co musisz zrobić, to nacisnąć optionpodczas zaznaczania.
Ponadto: zauważ, że jeśli dodasz coś takiego jak vimpager (również na Macports), możesz także przewijać strony podręcznika po dodaniu:
export PAGER=/opt/local/bin/vimpager #or wherever vimpager is installed
alias less=$PAGER
Odpowiedzi:
Przynajmniej w Terminal.app możesz przytrzymać, optionklikając, aby przeskoczyć w bieżącej linii (to tak naprawdę oznacza tylko linię, więc jeśli twój bieżący monit jest tak długi, że zawija się do drugiej linii wejściowej, musisz optionkliknąć na początek „drugiej” linii, a następnie przeskocz za pomocą klawiszy strzałek do „pierwszej” linii, w której możesz optionponownie kliknąć).
źródło
Minęło sporo czasu, odkąd pojawiło się to pytanie, a ja już wspomniałem poniżej na tej platformie w Option-kliknięciu w iTerm i narzędziu do śledzenia problemów iTerm2, ale może jest to pomocne dla jednego lub drugiego:
Cześć, chciałem tylko poinformować, że zaimplementowałem tę funkcję w iTerm2. Nie ma go jeszcze w oficjalnym repozytorium iTerm2, ale jeśli chcesz go wypróbować, możesz go znaleźć na github .
Ponieważ jest testowany tylko przeze mnie, uważaj go za niestabilny. Testowałem to za pomocą bash, vi i emacs i starałem się przypominać zachowanie Terminal.app.
Na githubie znajduje się również prekompilowana wersja binarna iTerm_v1.0.0.20120312.git-b919985b.zip (dla i386 / x86_64 / ppc).
Oczywiście wszelkie opinie są mile widziane.
źródło
Klawiatura jest często najlepszym przyjacielem. W konfiguracji domyślnej powłoka kontroluje większość sposobu poruszania się po wierszu polecenia.
Option+ bcofa słowo (kursor kończy się na pierwszej literze poprzedniego słowa).
Option+ fprzesuwa słowo do przodu (kursor będzie znajdował się przy znaku nieliterowym PO następnym słowie).
Shift+ Fn+ Left Arrow (←)umieści kursor na samym początku linii. ( Ctrl+ arównież to zrobi.)
Shift+ Fn+ Right Arrow (→)umieści kursor na samym końcu linii. ( Ctrl+ erównież to zrobi.)
Więc jeśli mam długie polecenie, na przykład:
$ rsync -avz --progress ~/Sites/Development/My/Project web@server:/deployment/output/area
I zacznę trafienia Option+ bkursor zatrzyma się na A w dziedzinie, o w wydajnością, d w rozmieszczania itp
Jeśli przejdę do początku linii i zacznę naciskać Option+ f, kursor zatrzyma się na spacji po rsync, spacji po avz, spacji po postępie, / po witrynach itp.
źródło
W iTerm2 przytrzymujesz klawisz alt (lewy lub prawy) i kliknij, aby przesunąć kursor do dowolnej pozycji w dowolnej linii.
źródło
Jeśli jesteś szczególnie zainteresowany ruchem w Vimie, możesz dodać
set mouse=a
do swojego~/.vimrc
pliku.Działa w iTerm dla ruchu. Pozwala także oznaczać sekcje tak, jakbyś wszedł w tryb wizualny, dzięki czemu możesz szarpać lub usuwać go lub komentować kod w zależności od wtyczek.
Bardzo wygodnie pozwala także szybko przewijać duży dokument za pomocą suwaka lub palca myszy.
Jedyną wadą jest to, że utrudnia zaznaczenie tekstu, który chcesz skopiować, do wykorzystania w innych aplikacjach - chociaż wszystko, co musisz zrobić, to nacisnąć optionpodczas zaznaczania.
Ponadto: zauważ, że jeśli dodasz coś takiego jak vimpager (również na Macports), możesz także przewijać strony podręcznika po dodaniu:
do twojego
.profile
lub.bashrc
.źródło