所有文章

如何在 Mac 上从当前文件夹打开终端

· 阅读约 6 分钟

你在访达里看着一个文件夹,正需要在这里开一个 shell,运行脚本、git 或 npm install。可终端总是在个人文件夹里打开,于是老套路又来了:先敲 cd,再跟上一长串路径。

简短的答案: 在访达中按住 Control 点按(或右键点按)文件夹,在服务里选择新建位于文件夹位置的终端窗口。如果没有这一项,请在“系统设置”›“键盘”›“键盘快捷键…”›“服务”的文件和文件夹部分启用它。也可以把文件夹拖到终端的图标上。在 Folia Files 中,右键点按文件夹并选择在终端中打开,或者按 ⌥⌘T,在面板正下方打开一个位于该文件夹的终端。

从访达使用“新建位于文件夹位置的终端窗口”

启用这个服务

终端为访达提供了两个服务:新建位于文件夹位置的终端窗口会打开新窗口,新建位于文件夹位置的终端标签页会在最前面的终端窗口里打开新标签页。如果右键点按文件夹时看不到它们:

  1. 打开“系统设置”,然后选择键盘。
  2. 点按键盘快捷键…,再点按左侧列表中的服务。
  3. 在文件和文件夹部分勾选新建位于文件夹位置的终端窗口,需要的话把标签页版本也勾上。

在同一个列表里,还可以给这个服务指定专属的键盘快捷键。

使用方法

在访达中右键点按文件夹,在菜单靠下方的服务里选择新建位于文件夹位置的终端窗口。选中文件夹后,菜单栏的访达 › 服务里也有同样的命令。终端打开时,shell 已经位于这个文件夹。

这个服务作用于选中的文件夹,而不是你当前所在的窗口。要打开正在浏览的文件夹,先按 ⌘↑ 返回上一层,再在那里右键点按它。

如果你用 iTerm2,它会在同一个列表里加入自己的服务:New iTerm2 Window Here 和 New iTerm2 Tab Here。

不用服务的两种办法

把文件夹拖到终端上

把文件夹拖到终端的图标上,无论图标在程序坞里还是在“应用程序”›“实用工具”中都行:终端会在这个文件夹里打开一个新窗口。

先输入 cd,再拖入文件夹

在终端窗口中输入 cd 和一个空格,把文件夹从访达拖进窗口,然后按 ↩。终端会替你填入文件夹的完整路径,空格和特殊字符都已转义。拷贝来的路径也一样能用:如何在 Mac 上拷贝文件路径介绍了访达和 Folia Files 中的做法。

反过来,输入 open . 会在访达窗口中打开 shell 当前所在的文件夹。

Folia Files 中的“在终端中打开”

在 Folia Files 中,右键点按面板里的文件夹,或者右键点按面板的空白处来使用面板显示的文件夹,然后选择在终端中打开。子菜单最上面是 Folia Files 终端(网站版),下面是你 Mac 上安装的终端 App:Terminal、iTerm、Ghostty、Warp、Kitty、WezTerm、Alacritty、Hyper 和 Tabby,只列出你装了的。选一个,Folia Files 就会用它打开这个文件夹。不需要事先启用任何服务。

Folia Files 中文件夹的“在终端中打开”子菜单:最上面是 Folia Files 终端,下面是 Mac 上安装的终端 App

在网站版中,左侧边栏中的文件夹、磁盘和个人收藏,菜单里都有在此处打开终端,会在这个文件夹里打开内建终端;在 Mac App Store 版中,它们有同样的在终端中打开子菜单。

如果 shell 已经开着,拷贝路径 › 终端路径(已转义)会拷贝已转义空格和特殊字符的路径,直接粘贴到 cd 后面即可。

位于面板下方、跟着文件夹走的终端

Folia Files 的面板中显示 Atlas 项目,下方的内建终端位于同一个文件夹,“跟随面板”已勾选

按 ⌥⌘T,或选择显示 › Terminal,或点按工具栏中的 Terminal:活跃面板下方会打开一个终端,位于面板显示的文件夹;如果你选中了一个文件夹,则位于那个文件夹。面板的齿轮菜单里也有同样的命令:在此文件夹中打开终端。终端的标题栏会显示它所在的位置,例如“Terminal — ~/项目/Atlas”。

  • 跟随面板:在终端的标题栏中勾选后,每当面板进入另一个文件夹,Folia Files 都会替你输入 cd。它只在 shell 等待命令时输入,绝不会打进正在运行的程序里,也绝不会输入含有控制字符的路径。这个选择会保留给之后打开的终端。
  • 旁边带箭头的按钮前往关联面板的文件夹只执行一次 cd,适合“跟随面板”关闭时使用。
  • 要关闭终端,可以点按它的 ×,再按一次 ⌥⌘T,或者在终端获得焦点时按 ⌘W。关闭终端也会结束它的 shell。

每个面板都可以有自己的终端:两个文件夹并排时,每个文件夹里都有一个 shell。

这个 shell 就是你的登录 shell(macOS 默认是 zsh),带着你平时的配置在面板的文件夹中启动。在“设置”›“Terminal”中可以换成别的 shell,也可以设置字体、光标和颜色:默认是与主题匹配,也可以选为保持易读而设计的配色,或用导入…引入 iTerm2 和 Ghostty 主题。其余功能,包括把自己的命令放进菜单,请看内建终端页面。

各版本的差别

内建终端只在 Folia Files 的网站版中提供:Apple 的沙盒不允许 Mac App Store 版使用它,该版本的免费辅助 App Folia Files Companion 也不会添加它。在 Mac App Store 版中,在终端中打开会列出你 Mac 上的终端 App,并在你选的那个里打开文件夹;拷贝路径 › 终端路径(已转义)也同样可用。

该选哪种方法

偶尔需要在某个文件夹里开个 shell 的话,启用访达的服务就够了;把文件夹拖到终端上则在任何 Mac 上都能用,无需任何设置。如果你一天要在正在浏览的文件夹里打开好几次终端,一个能选所有终端 App 的右键菜单,或者一个留在面板下方并跟着它走的终端,能省去绕道访达的麻烦。