截至今日,我发现在Mac上解决这个问题的最佳方法是使用命令行duti,它允许我在一个非常简单的文本文件中定义所有我的关联。
安装duti,请使用brew命令。
你需要两样东西。首先是你想要关联的应用程序的Bundle ID:
mdls -name kMDItemCFBundleIdentifier /Applications/MacVim.app:
mdls -名称kMDItemCFBundleIdentifier /应用程序/MacVim.app
第二个文件类型的UTI,Apple提供了一个列表,但你也可以像这样探索你的应用所支持的UTI:
mdls -name kMDItemContentTypeTree /Applications/MacVim.app
mdls -名称 kMDItemContentTypeTree /Applications/MacVim.app
现在在您的系统的某处创建一个文本文件,将bundle ids与UTI相关联:
# ~/.default-apps.duti
#
# bundle id UTI role
com.apple.Safari public.html all
org.vim.MacVim txmt
org.vim.MacVim public.ruby-script
请注意,我可以将URL处理程序(如txmt)以及文件类型(如Ruby脚本)关联起来。
在那个文件中,我会跟踪所有我的应用程序首选项,并在完全新的安装或在其他 Mac 上获得帐户后立即复制它们。
duti ~/.default-apps.duti