Skrót klawiaturowy do przeskakiwania między kartami w terminalu OS X.


118

W OS X Terminal.app, jeśli otworzysz nowe okna, możesz łatwo przełączać się między nimi za pomocą Cmd- 1, Cmd- 2, Cmd- 3itd.

Możesz także przełączać się między kartami, używając Cmd- Shift- {i Cmd- Shift- }. (lub Cmd- Shift- Lefti Cmd- Shift- Right)

Ale czy istnieje sposób, aby przejść bezpośrednio do konkretnej karty, tak jak w przypadku systemu Windows? np. Cmd- Shift- 3aby przejść do trzeciej zakładki? (To nie wszystko, oczywiście.)

Jestem prawie pewien, że jest to niemożliwe po wyjęciu z pudełka, ale co, jeśli chcę napisać trochę AppleScript, aby to zadziałało?


14
Tylko dla odniesienia: Shift-Command-Strzałka w lewo / w prawo również przełącza karty. W systemie Mac OS X Lion 10.7 można przełączać karty za pomocą przeciągnięcia trzema palcami.
— Chris Page

Przesunięcie trzema palcami nie działa w Mavericks (dla mnie).
— SabreWolfy

<kbd> Cmd </kbd> - <kbd> 1 </kbd> itp. nie działają w Mavericks.
— SabreWolfy

4
ctrl + tabpoprowadzi Cię przez zakładki terminala w MacOS Sierra (i prawdopodobnie wcześniej)
— SMT

Odpowiedzi:


11

Porzuć terminal i użyj iTerm . Pozwala ci to zrobić i jest dla mnie i tak nieco bardziej użyteczny.


Zwycięzca! Właśnie go zainstalowałem i już kocham konfigurowalność iTerm (choć jest to trochę skomplikowane ...)
— Dan Fabulich

1
W przypadku iTerm odpowiedzią byłoby command + Ti control + tabpodobnie jak przeglądarka. command + Wzamyka kartę.
— Droogany

2
iTerm jest stosunkowo wolny w porównaniu do zwykłego terminalu. Niemniej jednak dobry emulator terminala.
— schlingel

9
BTW ctrl + tabpozwala zmienić zakładkę, którą masz w terminalu w OSX.
— SMT

2
Pozostałbym przy Terminalu i nauczyłem się poniższego skrótu, opóźnienie iTerms jest szalone: danluu.com/term-latency
— Adam Fallon

188

Kluczowa kombinacja to: Shift- Cmd-Left or Right


15
Dzięki temu nie potrzebuję już iTerm :)
— slott

9
Czy oryginalne pytanie nie wymagało sposobu przejścia do konkretnej karty (zamiast do następnej lub poprzedniej karty)?
— matty

6
To powinna być zaakceptowana odpowiedź
— Juan Fuentes

1
Byłem trochę zaskoczony, kiedy pomyślałem, że będę musiał zainstalować iterm tylko po to, aby poruszać się między kartami ...... uff.
— Nikhil Sahu,

czy możemy to skonfigurować?
— Knight71

20

Można to zrobić z System Preferences> Keyboard> Shortcuts> App Shortcuts> kliknij +> select Terminal.appi dodać tytuł rozwiązaniem, ponieważ pojawia się w menu terminala, który może być:

  • Select Next Tab (w Mavericks i wcześniejszych)
  • Show Next Tab (w Yosemite, El Capitan, Sierra ...)

Pozycje menu Yosemite

Uwaga : jak prawdopodobnie zdajesz sobie sprawę, możesz to zrobić z absolutnie każdą aplikacją [Cocoa] OSX, która ma menu z opcjami, nawet jeśli pierwotnie aplikacja nie zdefiniowała skrótu do opcji.

Ten rodzaj skrótów nie jest równoważny z używaniem natywnych skrótów do aplikacji. OSX faktycznie uruchamia dostępną opcję menu za pomocą etykiety - zauważysz, że podczas naciskania klawiszy odpowiedni element menu będzie migał na pasku menu.

Po latach przeciwstawiania się pomysłowi użycia terminala innej firmy, ostatecznie przełączyłem się na iTerm2 przede wszystkim z powodu poprawnie działającego podziału okna, który w ootb Terminal.app nie jest zbyt przydatny. Również skróty są w pełni konfigurowalne, dzięki czemu można osiągnąć wszystko, co chcesz, w tym przejść do konkretnej karty za pomocą ⌘+, [tab number]aby przejść do N- tej karty.


5
Czy oryginalne pytanie nie wymagało sposobu przejścia do konkretnej karty (zamiast do następnej lub poprzedniej karty)?
— matty

2
@matty: masz rację, w oryginalnym pytaniu wspomniano o przejściu na konkretną kartę, ale tytuł pytania jest bardziej ogólny, więc większość osób, które znalazły to pytanie, szukała sposobu łatwego przełączania kart za pomocą łatwiejszego skrótu niż OSX zapewnia domyślnie.
— ccpizza

9

Używam Spark od lat. Pozwala zastąpić skróty dowolnej aplikacji, takiej jak Terminal i Safari. Używam go, aby oba programy przełączały tabulatory za pomocą polecenia + n, gdzie n jest numerem tabulatora, od 1 do 9.

Po pobraniu i skopiowaniu Spark.app do /Applications, uruchom go, kliknij Skróty klawiszowe wszystkich aplikacji, aby rozwinąć menu po lewej stronie, i kliknij znak plus, aby dodać nową aplikację.

Dodaj terminal (z /Applications/Utilities/Terminal.app). Następną rzeczą jest utworzenie skrótów: kliknij Plik-> Nowy HotKey-> AppleScript (lub po prostu naciśnij klawisz + 1 ). Kliknij obszar skrótu i ​​naciśnij polecenie + 1 , nazwij go tab1 i użyj tego kodu:

tell front window of application "Terminal" to set selected tab to tab 1

Powtórz to dla polecenia + 2, aby polecenie + 9 . Jeśli chcesz zmaksymalizować terminal w pionie, utwórz nowy skrót, taki jak polecenie + shift + m , nazwij go, jak chcesz i użyj tego kodu:

tell application "Finder"
    set _b to bounds of window of desktop
end tell

tell application "Terminal"
    tell front window
        set {_x, _y, _w, _h} to (get bounds)
        set _vz to item 4 of _b
        set bounds to {_x, 10, _w, _vz}
    end tell
end tell

To samo dotyczy Safari na skrótach kart, ale kod jest nieco inny:

tell front window of application "Safari" to set current tab to tab 1

Szczerze mówiąc, bez tego nie mogę korzystać z Terminalu ani Safari.


1
Można użyć osacompile aby szybko zapisać skrypty jak to: for n in {1..9} -1; do osacompile -e "try" -e "tell app \"Terminal\" to tell window 1 to set selected tab to tab $n" -e "end" -o Select\ Tab\ $n.scpt; done. Zawijanie skryptów w blokach try zapobiega dialogom błędów. Spark został ostatnio zaktualizowany w 2008 roku; Kolejną aplikacją, która pozwala przypisywać skrypty właściwe dla aplikacji, są skrypty FastScript .
— Lri,

6

W macOS High Sierra (10.13) możesz przejść do konkretnej karty za pomocą klawiszy skrótu ⌘1- ⌘9.

Aby włączyć / wyłączyć te klawisze skrótów, przejdź do Ustawienia > Ogólne i przełączaj między klawiszami od through-1 do ⌘-9 .

Ustawienia terminala> Ogólne


4

Mniej znane skróty klawiaturowe do wielu aplikacji

Przenieś poprzednią kartę na przód

Shift- Command-[

Przenieś następną kartę na przód

Shift- Command-]


Pochodzenie i zakres

Jeśli dobrze pamiętam, były to skróty, gdy Safari zyskało karty.

Te oryginalne skróty nie są opisane w HT201236 ( skróty klawiaturowe dla komputerów Mac - Wsparcie Apple ), ale są w Safari 9 (El Capitan): Klawisze Safari i inne skróty oraz:

  • oba skróty są nadal dobre w przypadku innych aplikacji - takich jak Terminal - w wersji 16A319 kandydującej do systemu Mac OS X 10.12 (macOS Sierra).

2

Przybyłem tutaj, szukając odpowiedzi na temat zmiany skrótu do DOWOLNEJ aplikacji. Odpowiedź @ ccpizza skierowała mnie we właściwym kierunku.

Oto jak to zrobiłem:

  • Otwórz „Preferencje systemowe” (z menu Apple w lewym górnym rogu ekranu)
  • Otwórz „Klawiaturę”
  • Wybierz „Skróty aplikacji” po lewej stronie
  • Naciśnij +znak
  • W wyskakującym okienku wybierz „Wszystkie aplikacje”
  • Wpisz „Pokaż następną kartę” (bez nawiasów) i żądany skrót
  • Wpisz „Pokaż poprzednią kartę” i żądany skrót

Możesz to zrobić dla dowolnego elementu menu (górny pasek). OSx przeszukuje tekst, więc musisz po prostu dopasować ... I mieć szczęście, że wszystkie aplikacje używają tego samego nazewnictwa :)


To działa ładnie. Teraz ma te same klawisze skrótów w przeglądarce, kiedy przełączam się między kartami. Nowe skróty odzwierciedlają także menu rozwijane Terminal.app-> Window.
— wenbert

0

Przełączanie kart w terminalu to jedyny znany mi sposób. Nie testowałem tego ze Snow Leopardem, więc YMMV.

Można też użyć ekranu i przełączyć „zakładki” o Ctrl- A, ni Ctrl- A, plub Ctrl- A, 0-9aby przełączyć się bezpośrednio do jednego.


Wygląda na to, że nie działa już w systemie Snow Leopard.
— Dan Fabulich

0

Skopiowano z Jak mogę zmienić skrót klawiaturowy do przełączania kart w terminalu Mac?

1: Zainstaluj SIMBL(włączanie wtyczek): http://www.culater.net/software/SIMBL/SIMBL.php

2: Zainstaluj TerminalTabSwitching.bundle

git clone https://github.com/dabeeeenster/terminaltabswitching
cp -r terminaltabswitching/TerminalTabSwitching.bundle "/Library/Application Support/SIMBL/Plugins"

3: Uruchom ponownie aplikację Terminal i ciesz się Cmd+[0-9]przełączaniem kart.

Do twojej wiadomości:plugin is not verified in terminal version # (a number) Gdy ponownie otworzyłeś terminal, otrzymałeś coś , co może pomóc następujące informacje.

(1) Otwórz

/Library/Application\ Support/SIMBL/Plugins/Terminal/TerminalTabSwitching.bundle/Contents/Info.plist

za pomocą swojego ulubionego edytora tekstu w sudo.

(2) Wyszukaj <key>MaxBundleVersion</key>.

(3) Zmień <string>280</string>w następnym wierszu numer wersji terminala lub wyższy, np <string>300</string>. Zapisać.

(4) Zamknij terminal i otwórz go ponownie. Mam nadzieję, że ten monit zniknie i można użyć Cmd+[0:9]do przełączania kart.


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.