![Mac OS X 中无文件扩展名文件的默认编辑器](https://linux22.com/image/1261735/Mac%20OS%20X%20%E4%B8%AD%E6%97%A0%E6%96%87%E4%BB%B6%E6%89%A9%E5%B1%95%E5%90%8D%E6%96%87%E4%BB%B6%E7%9A%84%E9%BB%98%E8%AE%A4%E7%BC%96%E8%BE%91%E5%99%A8.png)
我想使用 TextEdit 以外的其他编辑器打开没有文件扩展名的文件,包括 .dotsystemfiles(例如.htaccess
或.vimrc
)。执行常规全部更改...在里面获取信息面板无法解决问题,因为它会出现以下错误:
答案1
您需要更改text/plain
mime 类型或public.plain-text
UTI 的编辑器。常规获取信息对话框更改了文件扩展名的关联,而这些文件没有该文件扩展名。
得到RC默认应用并安装它。
打开系统偏好设置 » 默认应用程序 » 应用程序。选择您想要的默认编辑器,然后在应用程序支持的类型列表中查找上述任一类型。
选择条目并单击设为默认。您已完成。从 Finder 和命令行打开open
都会打开您的新默认编辑器。
这也会更改所有.txt
文件等。我认为这无法避免,因为 OS X 认为这些文件和无扩展名的文件都是public.plain-text
/ text/plain
。
无需RC默认应用,编辑 编辑~/Library/Preferences/com.apple.LaunchServices.plist
。
在 下添加一个条目LSHandlers
,包含 UTI (键LSHandlerContentType
,例如public.plain-text
) 和应用程序包标识符( LSHandlerRoleAll
,例如com.macromates.textmate
)。
它看起来像这样属性列表编辑器:
答案2
您还可以运行plutil -convert xml1 ~/Library/Preferences/com.apple.LaunchServices.plist
并添加如下内容:
<dict>
<key>LSHandlerContentType</key>
<string>public.plain-text</string>
<key>LSHandlerRoleAll</key>
<string>com.macromates.textmate</string>
</dict>
<dict>
<key>LSHandlerContentType</key>
<string>public.unix-executable</string>
<key>LSHandlerRoleAll</key>
<string>com.macromates.textmate</string>
</dict>
您可以通过重新启动或重建启动服务数据库来应用更改。注销并重新登录是不够的。
或者将其添加到杜蒂配置文件:
com.macromates.textmate public.plain-text all
com.macromates.textmate public.unix-executable all
public.plain-text
还包括带有.txt
或.text
扩展名的文件。我不知道有什么办法更改任意扩展名文件的默认应用程序。
public.unix-exexutable
包含不带文件扩展名的可执行脚本。如果您尝试从 Finder 更改它们的默认应用程序,则会出现如下错误:
操作无法完成。
发生意外错误(错误代码 -50)。
答案3
RCDefaultApp 很遗憾不再可用,但是SwiftDefaultApps是一种现代替代品。它没有列出 MIME 类型,但我发现public/data
在“统一类型标识符”窗格上进行更改可以解决没有扩展名的文件的问题。