使用键盘快捷键打开终端


17

我正在使用Alfred,因此Cmd+ Space键盘快捷键没有任何用处。我想使用该快捷方式调用终端。就像在Ubuntu中一样,当您按Ctrl+ Alt+时T,是否可以像在OS X Mavericks中那样启动终端?

PS我不想使用Alfred来启动终端。我只想按Cmd+,Space并且希望终端像在Ubuntu中一样出现。

Answers:


15

键盘大师

您可以使用以下宏通过Keyboard Maestro进行此操作:

阿尔弗雷德

您可以设置自定义热键以使用工作流程启动应用程序:

转到工作流程选项卡,创建一个新的工作流程,并添加一个热键和一个“启动应用程序”,并选择“终端”作为要启动的应用程序。

KeyRemap4MacBook

您可以将KeyRemap4MacBook与private.xml一起使用,例如:

<?xml version="1.0"?>
<root>
  <vkopenurldef>
    <name>KeyCode::VK_OPEN_URL_Terminal</name>
    <url>file:///Applications/Utilities/Terminal.app</url>
  </vkopenurldef>
  <item>
    <name>Activate Terminal with Space</name>
    <identifier>ActivateTerminalWithCmdSpace</identifier>
    <autogen>
      __KeyToKey__
      KeyCode::SPACE, VK_COMMAND | ModifierFlag::NONE,
      KeyCode::VK_OPEN_URL_Terminal
    </autogen>
  </item>
</root>

自动化服务

您可以在Automator中创建服务:

开放终端

…然后在系统偏好设置→键盘→快捷方式→服务中,您可以分配键盘命令来运行它。


不能像Windows和Linux一样本机完成吗?我问是因为KeyBoard Maestro和alfred不是免费的。
Morpheus 2014年

@Morpheus添加了一个使用KeyRemap4MacBook的方法,该方法是免费的
grg

应该一直打开keyremapformacbook才能运行它吗?
Morpheus 2014年

@Morpheus该应用程序无需打开-它添加了一个守护程序。
grg

1
@grgaside,自动化程序不起作用,但keyremap起作用。那谢谢啦!
Morpheus 2014年

7

延迟了5个月,但我认为这很有用。

就自动解决方案而言,这可能会更好一些。无需运行finder,而只需使用applescript。即添加操作“实用程序运行AppleScript”。运行此脚本:

on run {input, parameters}

    tell application "Terminal"
        do script " "
        activate
    end tell

    return input
end run

这不仅会打开终端,当多次运行时还会打开多个窗口。然后,只需在服务中(在键盘下)为其添加热键即可,如George Garside的答案所述。


1
保存时出错:Expected end of line but found "script"
Brian Vanderbusch 2015年

1
您会发现 stackoverflow答案很有用,它与@tlane答案是相同的方法,但其实现非常详细,对于完全不熟悉 MacOS的人非常有用。
罗德里罗克

3

您可以使用BetterTouchTool轻松完成此操作

btt快照

作为用于打开所选/活动文件夹的“特定应用程序”,我选择了“终端”。

因此,当我使用指定的键盘快捷键(我使用option-')时,将在终端中打开当前文件夹


3

在iTerm2中,您可以转到iterm首选项,在“键盘命令”中单击“键”->“热键”->“设置”。


3

我是能够实现相同的行为的Ubuntu Ctrl+ Alt+ T结合以下两个步骤:

  1. 设置一个Automator的服务,以开放iTerm2:开放的Automator应用程序,从菜单中选择“快速行动” 快速行动,并为它分配一个键盘快捷键Ctrl+ command+ T在此处输入图片说明这将打开该应用程序,但不会再打开任何窗口(因此,如果打开该应用程序,键盘快捷键将无效)。

  2. 添加iTerm2键映射以打开后续窗口。在iTerm2首选项中: 在此处输入图片说明

在那里,您不需要任何外部应用程序,但是很简单


2

我最接近MacOS的原样,没有mods或3rd party软件:

  1. Cmd+ Shift+ 在/ Applications /中u
    打开U tilities子文件夹(Terminal.app所在的位置)
  2. t
    选择Ť erminal.app
  3. Cmd+ Option+ o
    Ö的Terminal.app并关闭取景器窗口。

从第一天开始,每个OSX版本都有效。

对进行稍加修改后System Preferences >> Keyboard >> Shortcuts::Services,这是一个不错的选择,但是它要求您首先选择一个文件夹: 在此处输入图片说明

...例如在登录时从Finder中可以

  1. Cmd+ Up Arrow,您的主目录~/将在Finder中打开,然后
  2. CmdUp Arrow再次+ 到/ Users /目录。现在,~/应该选择您的用户主目录(如果在列表或图标视图中,而不是列中)。
  3. 如果您随后按下自定义的“服务”组合键(例如Ctrl+ Opt+ Cmd+ t)以启动“文件夹中的新终端”,Terminal.app将在您的主目录中启动~/

最后,为了使获取的内容尽可能接近,使用Ctrl++ Alt+ 从Finder启动Terminal.app窗口,t因为该Option键与该Alt键相当,请使用“服务”自定义键组合来启动在“文件夹的新终端”中,您还可以在桌面上创建主目录的别名。如果您重命名别名Space,则在Finder中为:

  1. Space选择您的~/别名,然后

  2. Ctrl+ Opt+ t在那打开终端。

...您最终在桌面上住了一个小房子,上面有一个指向它的箭头:

在此处输入图片说明


2

使用Quicksilver

  1. 通过打开触发器在Quicksilver中创建新触发器(Cmd+ '打开Quicksiver时为+ )
  2. 单击+▾列表底部的按钮,然后选择Keyboard

向应用程序添加新的键盘快捷键

  1. 输入terminal,然后显示该terminal.app,然后按Enter或单击Save按钮

  2. 通过单击将键盘快捷方式分配给该触发器,然后Keyboard滑出窗口,然后滑出

  3. 然后,最后,单击后的空白框,Shortcut:然后按您喜欢的组合键

Quicksilver触发器概述


1

如果要使用iTerm(iTerm2),请执行与@tlane的答案相同的操作,只是将其用于AppleScript:

on run {input, parameters}
    if application "iTerm" is running then
        tell application "iTerm"
            create window with default profile
            activate
        end tell
    else
        tell application "iTerm"
            activate
        end tell
    end if

    return input
end run

我在automator中添加了此功能,并且在automator中效果很好。但是,当我为此服务分配键盘快捷键时,它什么也不做。还有什么我需要注意的吗?
s-heins

@ s-heins也许您尝试过的键盘快捷键已被其他软件(例如OS)使用?我使用了control + option + command + T,并且有效。
ericcodes

1

您可以执行此操作而无需使用任何第三方应用程序:

  • 打开键盘设置,然后导航到快捷方式选项卡
  • 现在,转到应用程序快捷方式
  • 单击+符号,选择您的终端应用程序(如果尚未找到终端应用程序,请选择“其他”,然后导航到Finder,然后搜索终端)
  • 命名要提供的快捷方式和快捷键。

1
我希望这样行得通,但是他们说:“您不能为诸如打开应用程序之类的通用任务创建键盘快捷键”(support.apple.com/guide/mac-help/…),但是似乎有:用自动机中的溶液(尚未测试)appleinsider.com/articles/18/03/14/...
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.