我是个 Mac 菜鸟,但总体来说是个 Linux 高级用户。我的新工作给了我一台安装了 Lion 的全新 MacBook Pro。
我使用 homebrew 成功安装了 MacVim。我希望它成为打开某些文件类型的默认应用程序。(.rb、.haml)
但当我尝试将 MacVim 指定为 Finder 中的默认应用程序时,却找不到该应用程序。在 MacVim 上进行 Spotlight 搜索只会找到原始的 .tgz 文件。
但是我可以从命令行(mvim)运行它并将它固定到 dock 并从那里运行它。
我猜需要创建一个称为“别名”的东西,我觉得这与符号链接不同。事实上,我的 ~/Applications 文件夹中有一个 MacVim 的符号链接,由 homebrew 创建。
我怎样才能让 MacVim 成为已安装的应用程序并指定它打开某些文件扩展名?
答案1
当您从互联网下载文件时,OS X 会将其标记为“隔离”。您可以使用终端命令查看此信息,例如:
cd "wherever your app folder is" (not in the .app folder itself)
ls -la@
您将看到的一件事是,MacVim.app 文件夹(以及其树中的所有文件)设置了名为“com.apple.quarantine”的属性。如果您启动该应用程序,您将收到来自 OS X 的警告,例如“此应用程序已从互联网下载 - 您是否要继续”,当您选择“是”时,它将取消隔离应用程序中的文件。您可以使用终端命令手动对 MacVim.app 文件夹树中的所有文件执行此操作:
xattr -dr com.apple.quarantine MacVim.app
或者只对一个文件使用以下命令:
xattr -d com.apple.quarantine somefile
我下载了MacVim 7.3在我执行 xattr -dr ... 命令之前,它不会工作,但一旦我执行,它就可以正常工作,无论它安装在何处。设置一个文件以使用 MacVim 打开它,它也可以工作(使用“GetInfo”对话框)。
MacVim 应用程序的位置并不重要。只是按照惯例,应用程序通常位于 /Applications 文件夹中。对于某些应用程序来说,这可能并非如此,但为了统一起见,这可能是一个好主意。
有时可能存在导致这不切实际的原因,例如您可能没有 /Applications 文件夹的写权限。
答案2
我遇到了同样的问题。我将 MacVim.app 移至 /Applications,然后将其符号链接到 homebrew cellar 目录。
mv /usr/local/Cellar/macvim/7.3-65/MacVim.app /应用程序/ ln -s /应用程序/MacVim.app /usr/local/Cellar/macvim/7.3-65/
答案3
对于那些使用 Yosemite 和 MacVim 的自制软件无法在 Spotlight 中显示的用户,使用别名是可行的。
(请确保删除所有已存在的 MacVim /Applications
。)
从终端:
- 卸载现有的:
brew uninstall macvim
- 安装最新版本:
brew install macvim
- 在 Finder 中打开目录。例如:
open /usr/local/Cellar/macvim/7.3-64
- 在 Finder 中,右键单击
MacVim.app
图标并选择“创建别名”。 - 将刚刚创建的别名复制到该
/Applications
文件夹。
Spotlight 将索引 MacVim 别名。
来源:https://github.com/Homebrew/homebrew/issues/8970#issuecomment-4262695
答案4
使用 cask 安装 MacVim 似乎可以使其在 Spotlight 中可用:
brew cask install macvim