Mountain Lion如何为“ open -t”终端命令设置默认的文本编辑器?


9

OSX似乎提供了open -t命令行快捷方式,可以在系统默认的文本编辑器中打开任意文件。

  • 默认文本编辑器在哪里设置?

  • 我可以从命令行(如果可能)或通过编程方式更改它吗?

TextEdit的默认选择是限制。

Answers:


7

这是纯文本(public.plain-text)文件的默认应用程序。您可以从Finder的信息面板或duti进行更改

您也可以编辑〜/ Library / Preferences / com.apple.launchservices.plist,但是需要重新启动才能应用更改。

defaults write com.apple.LaunchServices LSHandlers -array-add '{LSHandlerContentType=public.plain-text;LSHandlerRoleAll=com.macromates.textmate;}'


您是否也知道如何使用默认值读取当前值?
Mikko Ohtamaa

@MikkoOhtamaa man defaults会告诉您如何执行此操作,但基本上defaults read com.apple.LaunchServices LSHandlers会告诉您所有文件类型的默认处理程序。
Smilin Brian

从Finder更改的默认应用程序不会添加到com.apple.LaunchServices.plist。您可以使用lsregister -dumpDefaultApplication。(或者duti,如果您只是想避免在plist中添加两个条目。)
Lri 2012年

6

您也可以open -a <application> <file>在自己选择的编辑器中从终端打开文件,如下所示:

open -a TextWrangler.app myfile.txt

为了使它简短一点,我在.profile文件中也有一个别名,如下所示:

alias edit="open -a TextWrangler.app $1"

这使我可以输入:

edit myfile.txt

并且该文件将在TextWrangler中打开。


请注意,也可以通过从TextWrangler的应用程序菜单中运行“安装命令行工具”来实现此目的。它将安装一个edit命令,该命令将执行您的别名所执行的操作,此外还有一系列命令行选项。
duozmo 2014年

5

根据open(1)手册页:

-t Causes the file to be opened with the default text editor, as determined via LaunchServices

  1. 要更改关联的编辑器,请在Finder中找到具有您要打开的扩展名的文件,然后选择它。
  2. 从菜单栏中选择文件>获取信息。
  3. 将“打开方式”更改为所选的文本编辑器。
  4. 按“全部更改...”

现在,具有该扩展名的文件应在命令行中使用“ open -t”在所选文本编辑器中打开。


1
没为我工作。
JohnK 2013年

^它完美运行,而不是通过命令行更改默认设置!谢谢!
Ting Ting Lei
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.