Tell me more ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

In OS X Terminal.app, if you open new windows, you can easily switch between them with Cmd-1, Cmd-2, Cmd-3, etc.

You can also cycle between tabs, using Cmd-Shift-{ and Cmd-Shift-}.

But is there a way to jump straight to a particular tab, like you can with windows? e.g. Cmd-Shift-3 to jump to the third tab? (That's not it, of course.)

I'm pretty sure it's impossible out of the box, but what if I'm willing to write some AppleScript to make this work?

share|improve this question
1  
Just for reference: Shift-Command-Left/Right Arrow also switch tabs. And in Mac OS X Lion 10.7, you can use a three-finger swipe to switch tabs. – Chris Page Sep 17 '11 at 10:14

3 Answers

up vote 2 down vote accepted

Ditch Terminal and use iTerm. It lets you do this and is, to me anyway, a bit more useful.

share|improve this answer
Winner! I just installed it and I already love iTerm's configurability (though it is a bit complex...) – Dan Fabulich Apr 19 '10 at 2:21
With iTerm, the answer would be command + T, and control + tab, just like a browser. command + W closes a tab. – Droogans May 15 at 19:13

Tab Switching in Terminal is the only way that I know. I haven't tested it with Snow Leopard so YMMV.

Or you can use Screen and switch "tabs" with Ctrl-A,n and Ctrl-A,p or Ctrl-A, 0-9 to switch directly to one.

share|improve this answer
This no longer appears to work in Snow Leopard. – Dan Fabulich Apr 19 '10 at 2:20

I've been using Spark for years. It lets you overwrite shortcuts of any application, such as Terminal and Safari. I use it to make both programs switch tabs with command+n where n is the tab number, from 1 to 9.

After you download and copy Spark.app to /Applications, start it, click All Applications' Hotkeys to expand the menu on the left, and click on the plus sign to add new application.

Add Terminal (from /Applications/Utilities/Terminal.app). Next thing is to create the shortcuts: click File->New HotKey->AppleScript (or just hit command+1). Click on the shortcut area and hit command+1, name it tab1 and use this code:

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

Repeat it for command+2 to command+9. If you want the ability to vertically maximize the terminal, create a new shortcut like command+shift+m, name it whatever you want and use this 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

Same thing for Safari on tab shortcuts, but the code is a bit different:

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

Honestly, I can't use either Terminal or Safari without this.

share|improve this answer
1  
You can use osacompile to save scripts like this quickly: 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. Wrapping the scripts in try blocks prevents error dialogs. Spark was last updated in 2008; another application that allows assigning application-specific shortcuts to scripts is FastScripts. – Lauri Ranta Jul 16 '12 at 18:23

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.