我知道Finder有内置选项来更改默认应用程序,但这仅适用于该扩展。我想为所有类型的文本文件提供我的编辑器(MacVim)。例如.html,.xml,... .gitignore等,甚至是未知的扩展 like.this 。
我试过duti但看起来不再有效了。
我也尝试过:
$ defaults write com.apple.LaunchServices LSHandlers -array-add '{LSHandlerContentType=public.plain-text;LSHandlerRoleAll=org.vim.MacVim;}'
$ defaults read com.apple.LaunchServices
{
LSHandlers = (
{
LSHandlerContentType = "public.plain-text";
LSHandlerRoleAll = "org.vim.MacVim";
}
);
}
以及public.text
,public.utf8-plain-text
等不同的UTI。没有运气。
任何帮助表示赞赏。我不想再看到TextEdit ......
答案 0 :(得分:4)
好的,this answer在Ask Different上提到你的方法已经过时了。它还指向another answer,它应该适用于较新的macOS版本(那些在Mavericks之后的版本)。
defaults write com.apple.LaunchServices/com.apple.launchservices.secure LSHandlers -array-add \
'{LSHandlerContentType=public.plain-text;LSHandlerRoleAll=org.vim.MacVim;}'
请注意代码中的com.apple.LaunchServices LSHandlers -array-add
与提供的解决方案中的com.apple.LaunchServices/com.apple.launchservices.secure LSHandlers -array-add
之间的区别。
修改强>
我忘了提到需要重新启动(链接的答案确实提到了这一点)。
另外,请注意(请参阅此答案的评论)OP显然需要使用defaults read com.apple.LaunchServices/com.apple.launchservices.secure LSHandlers > defualts.txt
导出所有默认值,通过文本编辑器将所有应用更改为org.vim.MacVim
,然后再通过文本编辑器重新导入defaults write com.apple.LaunchServices/com.apple.launchservices.secure LSHandlers "$(cat defualts.txt)"