在 OS X 终端上的选项卡之间跳转的键盘快捷键

Dan*_*ich 131 terminal keyboard-shortcuts macos

在 OS X Terminal.app 中,如果您打开新窗口,您可以使用Cmd- 1Cmd- 2Cmd-3等轻松在它们之间切换。

您还可以使用Cmd- Shift-{Cmd- Shift-在选项卡之间循环}。(或Cmd- Shift-LeftCmd- Shift- Right

但是有没有办法直接跳到特定的选项卡,就像使用 Windows 一样?例如Cmd- Shift-3跳转到第三个选项卡?(当然不是这样。)

我很确定这是不可能的,但是如果我愿意编写一些 AppleScript 来完成这项工作呢?

52d*_*6af 206

关键组合是:Shift- Cmd-Left or Right

  • 有了这个,我不再需要 iTerm :) (18认同)
  • 原始问题是否没有要求切换到 **特定** 选项卡(而不是下一个或上一个选项卡)? (9认同)
  • 这应该是公认的答案 (7认同)

ccp*_*zza 25

可以通过System Preferences> Keyboard> Shortcuts> App Shortcuts> 单击+> 选择Terminal.app并添加出现在终端菜单中的选项标题来完成,它可以是:

  • Select Next Tab (在小牛队和更早的球队)
  • Show Next Tab (在优胜美地、埃尔卡皮坦、塞拉利昂……)

优胜美地菜单项

注意:正如您可能意识到的那样,您绝对可以使用任何具有选项菜单的 [Cocoa] OSX 应用程序来执行此操作,即使该应用程序最初没有为该选项定义快捷方式。

这种快捷方式不等同于使用原生应用快捷方式。OSX 实际上是通过标签触发提供的菜单选项 - 您会注意到,当您按下按键时,相应的菜单项将在菜单栏中闪烁。

经过多年抵制使用第三方终端的想法,我最终切换到 iTerm2,主要是因为窗口拆分正常工作,这在 ootb Terminal.app 中不是很有用。此外,快捷方式是完全可配置的,可以实现您想要的任何内容,包括使用?+切换到特定选项卡[tab number]以跳转到第N选项卡。

  • 原始问题是否没有要求切换到 **特定** 选项卡(而不是下一个或上一个选项卡)? (5认同)
  • @matty:你是对的,最初的问题提到切换到*特定*标签,但问题_title_比这更通用,所以发现这个问题的大多数人只是在寻找一种使用更简单的快捷方式轻松切换标签的方法比 OSX 默认提供。 (2认同)

Mic*_*aff 12

放弃终端并使用iTerm。它可以让你做到这一点,而且对我来说,它更有用。

  • 顺便说一句,`ctrl + tab` 可让您更改您在 OSX 终端中所在的选项卡。 (9认同)
  • 我会坚持使用终端并学习以下快捷方式,iTerms 延迟很疯狂:https://danluu.com/term-latency/ (4认同)
  • 与常规终端相比,iTerm 相对较慢。尽管如此,一个很好的终端模拟器。 (2认同)

小智 9

我多年来一直在使用Spark。它允许您覆盖任何应用程序的快捷方式,例如终端和 Safari。我用它让两个程序都用command+n切换选项卡,其中n是选项卡编号,从 1 到 9。

将 Spark.app 下载并复制到 后/Applications,启动它,单击“所有应用程序的热键”以展开左侧的菜单,然后单击加号以添加新应用程序。

添加终端(来自/Applications/Utilities/Terminal.app)。接下来是创建快捷方式:单击File->New HotKey->AppleScript(或直接点击command+1)。单击快捷方式区域并点击command+1,将其命名为tab1并使用以下代码:

tell front window of application "Terminal" to set selected tab to tab 1
Run Code Online (Sandbox Code Playgroud)

command+2command+9重复此操作。如果您希望能够垂直最大化终端,请创建一个新的快捷方式,如command+shift+m,随意命名并使用以下代码:

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
Run Code Online (Sandbox Code Playgroud)

Safari 在选项卡快捷方式上的操作相同,但代码略有不同:

tell front window of application "Safari" to set current tab to tab 1
Run Code Online (Sandbox Code Playgroud)

老实说,没有这个,我无法使用终端或 Safari。


小智 9

在 macOS High Sierra (10.13) 中,您可以使用快捷键?1–切换到特定选项卡?9

要启用/禁用这些快捷键,请转到“设置” >“常规”并切换使用 ?-1 到 ?-9 以切换选项卡

终端设置 > 常规


Gra*_*rin 5

鲜为人知的多应用程序键盘快捷键

将上一个选项卡放在前面

Shift- Command-[

将下一个选项卡放在前面

Shift- Command-]


起源和范围

如果我没记错的话,那些是 Safari 获得标签时的快捷方式。

这些原快捷键不是在如何做HT201236(Mac键盘上的快捷键- Apple支持),他们却Safari浏览器9(酋长):Safari浏览器的键盘和其他快捷键和:

  • 在 Mac OS X 10.12 (macOS Sierra) 的候选版本 16A319 中,这两个快捷方式仍然适用于其他应用程序,例如终端。