我想创建一个快捷键,即打开Firefox,而我在另一个应用程序正在工作。我知道我在Firefox中可以使用⌘ CMD+ T打开一个新标签页。
我还没有在“系统偏好设置”中找到创建这种快捷方式的方法。
有任何想法吗?
我想创建一个快捷键,即打开Firefox,而我在另一个应用程序正在工作。我知道我在Firefox中可以使用⌘ CMD+ T打开一个新标签页。
我还没有在“系统偏好设置”中找到创建这种快捷方式的方法。
有任何想法吗?
Answers:
Karabiner由于内核体系结构的更改而在10.12中停止工作,并且Karabiner被重写为Karabiner-Elements,它对配置文件使用新的JSON格式。
您现在可以向karabiner.json
(https://pqrs.org/osx/karabiner/json.html)添加这样的规则:
{
"from": {
"key_code": "t",
"modifiers": {
"mandatory": [
"right_option"
]
}
},
"to": [
{
"shell_command": "open -aterminal"
}
],
"type": "basic"
}
这将使右键按下打开Emacs的命令:
{
"from": {
"key_code": "right_command",
"modifiers": {
"optional": [
"any"
]
}
},
"to": [
{
"key_code": "right_command",
"lazy": true
}
],
"to_if_alone": [
{
"shell_command": "open -aemacs"
}
],
"type": "basic"
}
将这样的文件另存为private.xml:
<?xml version="1.0"?>
<root>
<vkopenurldef>
<name>KeyCode::VK_OPEN_URL_Safari</name>
<url>file:///Applications/Safari.app</url>
</vkopenurldef>
<vkopenurldef>
<name>KeyCode::VK_OPEN_URL_iTunes</name>
<url>file:///Applications/iTunes.app</url>
</vkopenurldef>
<vkopenurldef>
<name>KeyCode::VK_OPEN_URL_EMACS</name>
<url>file:///Applications/Emacs.app</url>
</vkopenurldef>
<item>
<name>custom</name>
<identifier>custom</identifier>
<autogen>__KeyToKey__ KeyCode::F11, KeyCode::VK_OPEN_URL_Safari</autogen>
<!-- change the right option key into an extra modifier key -->
<autogen>__KeyToKey__ KeyCode::OPTION_R, KeyCode::VK_MODIFIER_EXTRA1</autogen>
<autogen>__KeyToKey__ KeyCode::I, ModifierFlag::EXTRA1, KeyCode::VK_OPEN_URL_iTunes</autogen>
<!-- make a short press of the right command open Emacs -->
<autogen>__KeyOverlaidModifier__ KeyCode::COMMAND_R, KeyCode::COMMAND_R, KeyCode::VK_OPEN_URL_EMACS</autogen>
</item>
</root>
如果您购买了Powerpack for Alfred 2,则可以创建如下工作流程:
默认情况下,热键的延迟很短,但是您可以通过将“触发行为”选项从“模拟释放的修改键”更改为“通过修改键(最快)”来减少延迟:
打开Automator,选择“服务”作为文档类型,将“服务接收”从“文本”更改为“无输入”,添加“启动应用程序”操作,然后保存服务。然后从“系统偏好设置>键盘>快捷方式>服务”为该服务分配键盘快捷键。
我不建议使用此选项,因为至少在我的系统上,使用此方法创建的键盘快捷键将应用程序聚焦之前,最多会有大约半秒的延迟,并且延迟通常会更长。从10.7开始,还存在一个错误,在该错误中,直到您将鼠标悬停在菜单栏中的服务菜单上时,Automator服务的键盘快捷键才会始终起作用。(编辑:我写了这个答案已经有8年了,但该错误仍未得到解决。)此外,服务的键盘快捷键在某些应用程序(如Emacs)中不可用。
/Library/Application Support/Karabiner/private.xml
。或打开Karabiner GUI>其他和卸载选项卡>“打开private.xml”选项卡。我有完全相同的困难。
获取Quicksilver,http://www.blacktree.com/,它将允许您设置键盘快捷键来打开应用程序。实际上,有更多的应用程序可以执行此操作(Alfred,Keyboard Maestro等)。
Mac OS X实际上具有一种内置的方法,但是不适用于Firefox,因为它不支持服务!http://hints.macworld.com/article.php?story=20090903085255430
2012年1月更新:Blacktree不再更新Quicksilver,开发人员前往Google并发布了Google Quick Search Box。Quicksilver继续存在,但在qsapp.com上有新家。
这里有很多不错的选择,但是我想添加我自10.5以来一直在使用的个人收藏,并且仍然适用于10.11.2:Spark 3。
http://www.shadowlab.org/Software/spark.php
它是免费软件,非常容易设置。这是开发者的描述:
Spark是一个功能强大且简单的快捷方式管理器。使用Spark,您可以创建热键来启动应用程序和文档,执行AppleScript,控制iTunes等。您还可以导出和导入热键库,或将其保存为HTML格式以进行打印。Spark是免费的,因此请适度使用!
这是界面的屏幕截图:
将此粘贴到脚本区域:
on run {input, parameters}
tell application "Terminal"
do script ""
activate
end tell
end run
PS:do script ""
如果您不想在每次按热键时都使用新的终端实例,请删除。
但是,要考虑的一件事是,热键在所有应用程序中必须唯一。如果您指定一个通用的热键(例如⌘+ T),并尝试在浏览时打开终端,则它将与大多数浏览器的热键冲突,从而无法打开新标签页。因此,您应该尝试一种不会与任何应用程序冲突的快捷方式。
我选择⌘+⌥+ F12。效果很好。
如果您使用的是iTerm2 + Oh My Zsh,只需在Automator 中将Run AppleScript替换为Launch Application,然后从列表中选择iTerm.app。
有一个很好的干净的开源应用程序叫做Thor。它使您能够为应用程序分配全局快捷方式。
从App Store下载二进制文件,网址为https://itunes.apple.com/app/thor/id1120999687?ls=1&mt=12。项目页面在这里https://github.com/gbammc/Thor。