是否有键盘快捷键(热键)可在macOS中打开终端?


125

终端是我用于编程的主要工具之一。当我能够快速打开终端窗口时,它使我的编程过程更有效率。

在Ubuntu中,我使用(window+ Alt+ T)打开终端。但是现在我在编程工作中使用Macbook。

有时,我使用Spotlight搜索“ Terminal”,然后按Enter。

我想知道是否可以分配键盘热键来执行此操作。

谢谢


33
我投票重新讨论这个问题,因为它属于“主要用于编程的工具”。程序员主要将终端用于运行与编程有关的任务。
格雷格·科夫

1
@JonKiparsky问题是有关在某个地方打开终端并在另一个应用程序具有焦点时打开新窗口。
Quentin Pradet

4
只是因为我认为这很荒谬...我要重申@GregKopff所说的...“除非它们直接涉及主要用于编程的工具” ... OP的Gopal Prasad明确表示“我的主要工具之一编程是我的终端。” 喜欢加油..解决此问题的方法非常有价值。
mmr118 '17

1
这是一个完全正确的问题!可能有很多来自Linux的人(使用Unity,XFCE,Cinnamon,MATE等台式机)来寻找这样的功能。投票证明了兴趣。
苏格拉底,

iTerm2。我并不是想开玩笑,认真地只是使用iTerm2。
本杰明·R

Answers:


127

我在macOS Mojave 10.14.6(18G3020)下测试了以下过程。

启动Automator。创建“快速操作”类型的文档:

快速行动模板

(在旧版本的macOS中,使用“服务”模板。)

在新的Automator文档中,添加“运行AppleScript”操作。(您可以在操作列表顶部的搜索字段中键入“ run applescript”来找到它。)这是要粘贴到操作中的AppleScript:

on run {input, parameters}
    tell application "Terminal"
        if it is running then
            do script ""
        end if
        activate
    end tell
end run

将“工作流接收”弹出窗口设置为“无输入”。整体看起来应该像这样:

applescript的工作流程

用“新终端”名称保存文档。然后转到Automator菜单(或任何正在运行的应用程序中的应用程序菜单)并打开Services子菜单。现在,您应该可以看到“新终端”的快速操作:

新终端服务菜单项

如果单击“新终端”菜单项,将出现一个对话框:

权限对话框

单击确定以允许操作运行。使用该操作时,您将在最前面的每个应用程序中看到一次此对话框。换句话说,当您首次在Finder处于最前面时使用该操作时,将看到该对话框。而且,当您第一次在Safari处于最前面时使用该操作时,您会看到一个对话框。等等。

在对话框中单击“确定”后,终端应打开一个新窗口。

要将键盘快捷方式分配给快速操作,请从“服务”菜单中选择“服务首选项...”项。(或启动“系统偏好设置”,选择“键盘”窗格,然后选择“快捷方式”选项卡,然后从左侧列表中选择“服务”。)滚动到右侧列表的底部,找到“新终端”服务。单击它,您应该看到一个“添加快捷方式”按钮:

添加快捷按钮

单击按钮,然后按您的首选键盘快捷键。然后,挠头,因为(当我尝试过)“添加快捷方式”按钮会再次出现。但是,再次单击该按钮,您应该会看到快捷方式:

键盘快捷键集

现在,您应该可以在大多数情况下按键盘快捷键来获取新的终端窗口。


9
好吧,即使有些人不喜欢这个问题,我也喜欢你的答案!:-)
Mark Setchell,

3
这对我非常有用,除了尚未启动终端应用程序时。在这种情况下,我得到两个新的终端窗口。我通过将AppleScript更改为以下内容来解决此问题:在运行{input,parameters}时告诉应用程序“ Terminal”是否正在运行,然后在激活时告诉脚本“” end,如果
Activate

3
@robmayoff我在执行脚本时遇到了一些麻烦。当我单击Automator中的播放按钮时,它工作正常,但是,当我单击“服务”下的任务时,弹出错误提示The action "Run AppleScript" encountered an error。有任何想法吗?如果这很重要,我正在使用OSX 10.12.1。
Axim

7
我遇到一个问题,如果终端没有窗口,它将打开一个窗口,但是如果已经打开一个窗口,它将选择该窗口。我要做的就是从脚本中删除“ shell”一词。
霍尔顿·刘易斯

2
我有此问题的最新更新的Windows复制问题。我已使用以下脚本修复了该问题on run {input, parameters} tell application "Terminal" if not (exists window 1) then reopen activate end tell end run
Jofsey

9

作为程序员,我们希望以最快,最简单的方式来获取我们的工具,以便我们开始黑客攻击。这是我如何在MacOS 10.13.1(High Sierra)中使用它:

  • 选项1:转到System Preferences | Keyboard | Shortcut | Services。在“ Files and Folders部分”下,启用New Terminal at Folder 和/或New Terminal Tab at Folder为其分配快捷键。 键盘快捷键配置

  • 选项2:如果您希望快捷键可以在任何地方使用,请使用Automator创建一个新的服务,然后转到“键盘快捷键”为其分配快捷键。已知限制:无法在桌面上使用

在此处输入图片说明

笔记:

  • 如果快捷方式不起作用,则可能与另一个键绑定冲突(并且操作系统不会警告您),请尝试其他操作,例如,如果⇧⌥T不起作用,请尝试⇧⌘T。
  • 不要拼写正确MacOS,这是没有必要的。

1
选项2对我有用,谢谢!无法从桌面正常工作的奇怪限制。我也建议不要使用⇧⌘T,因为这是“重新打开上一个关闭的标签页”的常用快捷方式
Charlie G

2

iTerm2-终端的替代方案-可以选择使用可配置的系统范围内的热键来显示/隐藏(初始设置为Alt+ Space,默认情况下禁用)


说到iTerm2。这就是我试图使用自动器启动的过程,但是"script"当我指定该错误消息时却发现了该错误,tell application "iTerm2"所以你是怎么打开的iTerm2呢?
blamb

1
@blamb我通常通过此热键打开iTerm2(应在iTerm2首选项->键->热键中启用)。我从未尝试过使用automator。
维克多

有关自定义此功能的更多信息,请参见以下答案:superuser.com/a/1259726
Benjamin R
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.