mac上更改文件默认打开程序有五种方法:一、通过“显示简介”面板批量设置;二、option键右键选“始终以此方式打开”;三、拖拽文件至应用图标绑定;四、用duti命令行工具强制指定;五、用defaults命令直接写入launchservices数据库。

如果您在Mac上双击某类文件(如.pdf、.md或.json)时,总是由不希望的应用打开,则说明该扩展名已与错误程序绑定。以下是更改程序默认打开方式的具体操作步骤:
一、通过“显示简介”面板批量设置默认应用
此方法直接修改系统对特定扩展名的全局关联规则,所有同类型文件将统一使用指定程序打开,是一次设置、长期有效的标准操作。
1、在访达(Finder)中选中一个具有目标扩展名的文件(例如 report.pdf 或 notes.md)。
2、按 Command + I 快捷键,打开该文件的“显示简介”窗口。
3、在“打开方式”区域点击右侧下拉箭头,从列表中选择您希望设置默认的应用程序(如 Preview、TextEdit、Obsidian 或 VS Code)。
4、点击“打开方式”下方的全部更改按钮。
5、在弹出的确认对话框中点击继续,系统即完成扩展名所有文件的默认程序绑定。
二、使用Option键右键实现“始终以此方式打开”
该方式无需打开简介窗口,利用上下文菜单直接触发LaunchServices注册,路径最短且响应即时,适用于快速为单个扩展名设定默认程序。
1、在访达或桌面中找到一个目标文件(如 config.json 或 document.docx)。
2、按住 Control 键并点击该文件(或直接右键),呼出上下文菜单。
3、将鼠标悬停于“打开方式”选项,展开可用应用程序列表。
4、在子菜单展开状态下,按住Option 键不放,此时菜单项自动变为灰色的“始终以此方式打开”。
5、松开 Option 键后,点击“始终以此方式打开”,再从子菜单中选择目标应用程序(如 Adobe Acrobat 或 Microsoft Word)。
三、通过拖拽法将文件直接绑定至目标应用图标
此方法绕过系统菜单逻辑,利用macOS图形化拖放机制触发LaunchServices自动注册,对未出现在“打开方式”列表中的专业软件(如 Sublime Text、Bear、Typora)尤为有效。
1、确保目标应用已正确安装,且其图标可在 Dock 或“应用程序”文件夹中可见。
2、将该格式的一个样本文件(如 script.sh 或 image.jpg)直接拖拽至目标应用图标上。
3、松开鼠标后,系统弹出提示:“是否使用此应用程序打开所有 .sh 文件?”
4、点击使用,系统立即建立扩展名与应用的默认绑定关系。
四、使用终端命令通过 duti 工具强制指定默认程序
duti 是专为 macOS 设计的命令行工具,支持按扩展名或 UTI 精确强制设定默认应用,适用于脚本化批量配置、图形界面失效或处理非标准扩展名等高级场景。
1、打开“应用程序 → 实用工具 → 终端”。
2、若尚未安装 duti,请先执行:brew install duti。
3、输入以下命令绑定 .pdf 文件默认由 Skim 打开:duti -s org.peterbraun.Skim public.pdf all。
4、替换命令中的 org.peterbraun.Skim 为目标应用 Bundle ID(可通过 osascript -e 'id of app "Skim"' 查询),并将 public.pdf 替换为所需扩展名或 UTI。
5、执行完毕后,在终端运行:killall Finder 刷新界面。
五、通过终端 defaults 命令直接写入 LaunchServices 数据库
此方法绕过图形界面,直接修改 com.apple.LaunchServices/com.apple.launchservices.secure 中的 UTI 映射,适合高级用户对特定类型(如 public.plain-text 或 public.jpeg)实施强制指定。
1、打开“终端”应用。
2、输入以下命令以设定纯文本文件默认由 TextEdit 打开:defaults write com.apple.LaunchServices/com.apple.launchservices.secure LSHandlers -array-add '{LSHandlerContentType=public.plain-text;LSHandlerRoleAll=com.apple.TextEdit;}'。
3、替换命令中的 public.plain-text 为所需 UTI(例如 public.jpeg),并将 com.apple.TextEdit 替换为目标应用 Bundle ID。
4、执行完毕后,运行:killall Finder 刷新界面,或注销当前用户使新绑定完全生效。










