上周写了篇文章《Mac中通过自定义快捷键快速打开vscode项目》,让 mac 的文件或文件夹可以通过快捷键的方式用编辑器打开,但是还存在一点美中不足的地方,就是有时候需要在访达的目录下打开终端,比如当我们从网上克隆一个项目的时候,常常需要在本地的一个文件夹内打开终端来执行克隆的命令。举个例子来说:
假如我本地有一个 work 文件夹,存放工作的代码,此时我处于 work 文件夹内,我需要在 work 文件夹内打开终端来执行git clone,这个时候是没有文件或文件夹被选中的,所以是没有办法用之前的针对文件或文件夹快速操作的快捷键。所以我们需要另辟蹊径。
方法仍然是使用自动操作来实现,具体实现步骤如下:
创建 AppleScript 并绑定快捷键
1、 打开 Automator:
- 打开
Automator应用,选择 “服务” 或 “快速操作”。
2、 配置服务类型:
- 在右侧的 “服务接收选定” 中,选择 “无输入”。
- 在 “位于” 中选择 “Finder”。
3、 添加 AppleScript:
- 在左侧搜索栏中搜索并选择 “运行 AppleScript”,然后将其拖动到右侧工作区。
- 替换默认的 AppleScript 内容为以下代码:
tell application "Finder"
set currentFolderPath to (POSIX path of (target of front window as alias))
end tell
tell application "Terminal"
do script "cd '" & currentFolderPath & "'"
activate
end tell
- 这个脚本会获取当前 Finder 窗口所在的路径,并在该路径下打开终端。
4、 保存服务:
- 点击菜单栏中的
文件>存储,为这个服务起一个名字,比如在当前 Finder 目录打开终端。 - 这样就创建了一个能在当前 Finder 目录打开终端的服务。
5、 设置快捷键:
- 打开
系统偏好设置,选择键盘。 - 转到
快捷键->服务。 - 找到刚刚创建的
在当前 Finder 目录打开终端,点击它旁边的空白区域,并设置一个快捷键。这里我用的是⌃ + ⌥ + t
注意
- 并不是所有的 app 都支持AppleScript,必须是支持
do script命令的 app 才能使用这种方式,一些终端(如 iTerm2)和标准的 macOS Terminal 都支持do script,但 Warp 不支持。
使用方法
现在,当你在 Finder 中浏览某个目录(即使没有选中任何文件或文件夹),只需按下你设置的快捷键,就会在当前目录下打开一个终端窗口。然后就可以愉快的 clone 啦,掌握快捷键,clone 快人一步,具体效果如下: