Tastaturkürzel zum Wechseln zwischen Registerkarten im OS X-Terminal

118

Wenn Sie in OS X Terminal.app neue Fenster öffnen, können Sie einfach mit Cmd- 1, Cmd- 2, Cmd- 3usw. zwischen ihnen wechseln .

Sie können auch mit Cmd- Shift- {und Cmd- Shift- zwischen den Registerkarten wechseln }. (oder Cmd- Shift- Leftund Cmd- Shift- Right)

Aber gibt es eine Möglichkeit, direkt zu einer bestimmten Registerkarte zu springen, wie Sie es mit Windows können? zB Cmd- Shift- 3zum dritten Reiter springen? (Das ist es natürlich nicht.)

Ich bin mir ziemlich sicher, dass dies nicht sofort möglich ist, aber was ist, wenn ich bereit bin, AppleScript zu schreiben, damit dies funktioniert?

Dan Fabulich
quelle
14
Nur als Referenz: Umschalt-Befehl-Links- / Rechtspfeil wechselt auch die Registerkarte. In Mac OS X Lion 10.7 können Sie mit drei Fingern zwischen Registerkarten wechseln.
Chris Seite
Das Streichen mit drei Fingern funktioniert in Mavericks (für mich) nicht.
SabreWolfy
<kbd> Cmd </ kbd> - <kbd> 1 </ kbd> usw. funktionieren in Mavericks nicht.
SabreWolfy
4
ctrl + tabwerden Sie durch die Terminal-Registerkarten in MacOS Sierra (und wahrscheinlich früher)
navigieren

Antworten:

11

Ditch Terminal und verwenden Sie iTerm . Es lässt Sie dies tun und ist für mich ein bisschen nützlicher.

Michael Graff
quelle
Gewinner! Ich habe es gerade installiert und ich liebe bereits die Konfigurierbarkeit von iTerm (obwohl es ein bisschen komplex ist ...)
Dan Fabulich
1
Mit iTerm, wäre die Antwort command + T, und control + tab, genau wie ein Browser. command + Wschließt eine Registerkarte.
Droogans
2
iTerm ist im Vergleich zum regulären Terminal relativ langsam. Trotzdem ein guter Terminalemulator.
Schlingel
9
Übrigens ctrl + tabkönnen Sie in OSX ändern, auf welcher Registerkarte Sie sich im Terminal befinden.
SMT
2
Ich würde bei Terminal bleiben und die folgende Abkürzung lernen: iTerms Latenz ist verrückt: danluu.com/term-latency
Adam Fallon
188

Die Tastenkombination lautet: Shift- Cmd-Left or Right

Ben
quelle
15
Mit diesem habe ich keine Notwendigkeit mehr für iTerm :)
Slott
9
Hat die ursprüngliche Frage nicht nach einer Möglichkeit gefragt, zu einer bestimmten Registerkarte zu wechseln (anstatt zur nächsten oder vorherigen Registerkarte)?
Matty
6
Dies sollte die akzeptierte Antwort sein
Juan Fuentes
1
Ich war etwas verblüfft, als ich dachte, ich müsste iterm installieren, nur um zwischen den Tabs zu wechseln ...... puh.
Nikhil Sahu
können wir es konfigurieren?
Knight71
20

Es kann aus erfolgen System Preferences> Keyboard> Shortcuts> App Shortcuts> klicken Sie +> wählen Terminal.appund fügen Sie die Option Titel , wie es in dem Terminal - Menü erscheint, die sein kann:

  • Select Next Tab (bei Mavericks und früher)
  • Show Next Tab (auf Yosemite, El Capitan, Sierra ...)

Yosemite Menüpunkte

Hinweis : Wie Sie wahrscheinlich wissen, können Sie dies mit jeder [Cocoa] OSX-App tun , die ein Menü mit Optionen enthält, auch wenn die App ursprünglich keine Verknüpfung für die Option definiert hat.

Diese Art von Verknüpfungen entspricht nicht der Verwendung nativer App-Verknüpfungen. Was OSX tatsächlich tut, ist das Auslösen der bereitgestellten Menüoption über das Etikett - Sie werden feststellen, dass der entsprechende Menüpunkt in der Menüleiste blinkt, während Sie die Tasten drücken.

Nachdem ich mich jahrelang der Idee widersetzt hatte, ein Terminal eines Drittanbieters zu verwenden, wechselte ich schließlich zu iTerm2, vor allem wegen der funktionierenden Fensteraufteilung, die in der ootb Terminal.app nicht sehr nützlich ist. Außerdem sind die Verknüpfungen vollständig konfigurierbar, so dass Sie alles erreichen können, was Sie möchten, einschließlich des Wechsels zu einer bestimmten Registerkarte mit + [tab number], um zur n- ten Registerkarte zu springen .

ccpizza
quelle
5
Hat die ursprüngliche Frage nicht nach einer Möglichkeit gefragt, zu einer bestimmten Registerkarte zu wechseln (anstatt zur nächsten oder vorherigen Registerkarte)?
Matty
2
@matty: Sie haben Recht, die ursprüngliche Frage Nennungen zu einem Schalen spezifische Register, aber die Frage Titel ist allgemeinerer als das, so dass die meisten Menschen , die diese Frage gerade gefunden wurden Suche nach einem Weg , um bequem Registerkarten zu wechseln mit einer einfacheren Verknüpfung als OSX bietet standardmäßig.
ccpizza
9

Ich benutze Spark seit Jahren. Sie können damit Verknüpfungen von Anwendungen wie Terminal und Safari überschreiben. Ich verwende es, um beide Programme Tabulatoren mit Befehl + n wechseln zu lassen, wobei n die Tabulatornummer von 1 bis 9 ist.

Nachdem Sie Spark.app heruntergeladen und in kopiert haben /Applications, starten Sie es, klicken Sie auf die Hotkeys aller Anwendungen, um das Menü links zu erweitern, und klicken Sie auf das Pluszeichen, um eine neue Anwendung hinzuzufügen.

Terminal hinzufügen (von /Applications/Utilities/Terminal.app). Als Nächstes erstellen Sie die Verknüpfungen: Klicken Sie auf Datei-> Neuer HotKey-> AppleScript (oder drücken Sie einfach Befehl + 1 ). Klicken Sie auf den Verknüpfungsbereich und drücken Sie Befehl + 1 , nennen Sie ihn tab1 und verwenden Sie diesen Code:

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

Wiederholen Sie diesen Vorgang für Befehl + 2 bis Befehl + 9 . Wenn Sie das Terminal vertikal maximieren möchten, erstellen Sie eine neue Verknüpfung wie Befehl + Umschalt + m , benennen Sie sie nach Belieben und verwenden Sie diesen Code:

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

Das Gleiche gilt für Safari über Tab-Verknüpfungen, der Code ist jedoch etwas anders:

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

Ehrlich gesagt, ich kann weder Terminal noch Safari ohne dieses verwenden.

fiorix
quelle
1
: Sie können schnell Skripte wie diese speichern verwenden osacompile zu 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. Das Umschließen der Skripte in Try-Blöcke verhindert Fehlerdialoge. Spark wurde zuletzt im Jahr 2008 aktualisiert; Eine weitere Anwendung, mit der Sie Skripten anwendungsspezifische Verknüpfungen zuweisen können, ist FastScripts .
Lri
6

In macOS High Sierra (10.13) können Sie mit den Tastenkombinationen 1- zu einer bestimmten Registerkarte wechseln 9.

Um diese Tastenkombinationen zu aktivieren / deaktivieren, gehen Sie zu Einstellungen > Allgemein und wechseln Sie mit ⌘-1 bis ⌘-9 zwischen den Registerkarten .

Terminaleinstellungen> Allgemein

Christian Schmidt
quelle
4

Weniger bekannte Tastaturkürzel für mehrere Anwendungen

Bringen Sie die vorherige Registerkarte nach vorne

Shift- Command-[

Bringen Sie die nächste Lasche nach vorne

Shift- Command-]


Herkunft und Umfang

Wenn ich mich richtig erinnere, waren dies die Verknüpfungen, als Safari Registerkarten erhielt.

Diese ursprünglichen Verknüpfungen sind nicht in How-to HT201236 ( Mac Tastenkombinationen - Apple Support ) , aber sie sind in Safari 9 (El Capitan): Safari - Tastatur und andere Abkürzungen und:

  • Beide Verknüpfungen sind mit anderen Anwendungen - wie z. B. Terminal - in Release Candidate 16A319 von Mac OS X 10.12 (macOS Sierra) immer noch gut.
Graham Perrin
quelle
2

Ich bin hier angekommen und wollte eine Antwort, wie ich die Verknüpfung für JEDE Anwendung ändern kann. @ ccpizzas Antwort hat mich in die richtige Richtung gebracht.

So habe ich es gemacht:

  • Öffnen Sie "Systemeinstellungen" (im Apple-Menü oben links auf dem Bildschirm)
  • Öffne "Tastatur"
  • Wählen Sie links "App Shortcuts"
  • Drücken Sie das +Schild
  • Wählen Sie im Popup "Alle Anwendungen"
  • Geben Sie "Show Next Tab" (ohne Klammern) und Ihre gewünschte Verknüpfung ein
  • Geben Sie "Vorherige Registerkarte anzeigen" und Ihre gewünschte Verknüpfung ein

Sie können dies für jeden Menüpunkt (obere Leiste) tun. OSx führt eine Textsuche durch, sodass Sie sie nur abgleichen müssen ... Und haben Sie das Glück, dass alle Apps denselben Namen verwenden :)

publicJorn
quelle
Das funktioniert gut. Jetzt hat es die gleichen Tastenkombinationen mit dem Browser, wenn ich zwischen Registerkarten wechsle. Und die neuen Verknüpfungen spiegeln sich auch in der Dropdown-Liste Terminal.app-> Windowwider.
Wenbert
0

Tab Switching in Terminal ist der einzige Weg, den ich kenne. Ich habe es nicht mit Snow Leopard getestet, also YMMV.

Oder Sie verwenden können Bildschirm und wechseln „Tabs“ mit Ctrl- A, nund Ctrl- A, poder Ctrl- A, 0-9um direkt mit einem Schalter.

Jawa
quelle
Dies scheint in Snow Leopard nicht mehr zu funktionieren.
Dan Fabulich
0

Kopiert von Wie kann ich die Tastenkombination zum Wechseln der Registerkarten in Mac Terminal ändern?

1: Installieren SIMBL(Plugin Enabler): http://www.culater.net/software/SIMBL/SIMBL.php

2: Installieren Sie die TerminalTabSwitching.bundle

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

3: Starten Sie die Terminal-App neu und genießen Sie das Cmd+[0-9]Wechseln zwischen Registerkarten.

Zuplugin is not verified in terminal version # (a number) Ihrer Information : Wenn Sie so etwas wie beim erneuten Öffnen Ihres Terminals erhalten haben, könnten die folgenden Informationen hilfreich sein.

(1) Öffnen

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

Verwenden Sie Ihren bevorzugten Texteditor unter sudo.

(2) Suchen nach <key>MaxBundleVersion</key>.

(3) Ändern Sie <string>280</string>in der nächsten Zeile die Versionsnummer Ihres Terminals oder höher <string>300</string>. Sparen.

(4) Terminal beenden und erneut öffnen. Hoffentlich verschwindet diese Eingabeaufforderung und Sie können die Cmd+[0:9]Registerkarte wechseln.

ycz
quelle
0

Control+ Tabfunktioniert wie bisher

tworec
quelle