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