将 os x 中的 `edit` 二进制文件修改为不同的编辑器

Modify the `edit` binary in os x to a different editor

在命令行上,我可以输入 edit <folder/file name>,它将在我很久没用过的 TextWrangler 中打开。我不确定 edit 二进制文件是如何到达那里的——我使用 oh-my-zsh,可能相关。我想将 subl 更改为 edit(更好打字)并发现它已经存在。

我卸载了 TextWrangler,现在出现错误

edit: error: -10814
    LaunchServices could not locate your copy of TextWrangler.

我一直在寻找如何修改 LaunchServices 数据库并重建了它,但我仍然遇到错误。 运行 which edit 给我 /usr/local/bin/edit fwiw.

什么控制此关联以及如何将其切换到 Sublime Text?

如果你要 运行 ls -al /usr/local/bin/edit 你会看到这个:

lrwxr-xr-x  1 root  wheel  52 Apr 15  2012 /usr/local/bin/edit -> /Applications/TextWrangler.app/Contents/Helpers/edit

因此,看起来edit是TextWrangler的内置命令行程序,就像subl是Sublime,或mate是TextMate。当然,没有什么可以阻止您删除符号链接,然后根据需要创建一个指向 subl 的新符号链接。

要切换,您可以运行以下命令:

rm /usr/local/bin/edit
ln -s /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl /usr/local/bin/edit

在我的例子中,我用 BBEdit 替换了 TextWrangler,所以我只执行了这些命令,但使用 /Applications/BBEdit.app/Contents/Helpers/bbedit_tool 而不是 Sublime (subl) 一个。