OS X文件打开方式的技巧

OS X下我常用SublimeText打开文本文件,原因就不多说了。
但系统上还是保留了UltraEdit,这样一下就出现了一个情况:
用SublimeText保存的文件(无扩展名)双击是用UltraEdit打开的。

放狗搜索了一堆,大意是要修改UTI为
public.plain-text
类型的打开方式为SublimeText,改了,部分有用,但很多时候没用。

然后又试着将

public.text
public.utf16XXXX
public.utf8XXX
等几个也改为SublimeText,仍然没用。

再仔细看看RCDefaultApp这个插件,发现在App面板中UE有UTI的子树,但SublimeText只有Extension的子树,原因不明。继续研究UTI这个东西,终于找到了一个好文:

设置 Mac 下文件的默认打开程序 — duti 详解

https://segmentfault.com/a/1190000004395085

里面的细节就不再复述了,自己点开去看吧。
其中一个对我最有用的命令就是:mdls。使用方法:
mdls filename
显示该文件的UTI(UTI就是比扩展名更强大的东西,且MAC使用这个和应用关联起来)。这样一来就简单了,原来我之前SublimeText保存的文件都是public.data格式的,而这个UTI被UE在安装时关联了。

知道了原因,解决起来就非常简单了。

为避免将来引用的失败,原文中两个引用我也放过来:
https://developer.apple.com/library/mac/documentation/Miscellaneous/Reference/UTIRef/Articles/System-DeclaredUniformTypeIdentifiers.html

http://superuser.com/questions/209145/how-to-get-a-files-uti-from-the-command-line-in-mac-os-x

顺便介绍两个命令:
获取应用的BundleID(无论是OS X还是iOS的应用均有一个唯一的BundleID)
osascript -e ‘id of app “APP Name”’
命令行设置BundleID与UTI关联
duti -s com.apple.Finder ftp

[code language=”plain”][/code]

You may also like

Leave a Reply

Your email address will not be published. Required fields are marked *