我可以在Spotlight中显示“应用程序”目录中的符号链接(到.app文件夹)吗?


45

我用brew安装MacVim并将其放入 /usr/local/Cellar/macvim/7.3-61/MacVim.app

我希望能够引起关注并键入MacVim以启动该应用程序。我尝试在Applications目录中创建到的符号链接/usr/local/Cellar/macvim/7.3-61/MacVim.app。但这似乎并未出现在Spotlight中。我在符号链接上设置了可执行位。从命令行打开MacVim.app。如何使MacVim出现在Spotlight搜索中?


2
Spotlight不会在隐藏的文件夹中查找,而且显然也不适用于别名。您是否使用Spotlight启动应用程序?如果是这样,我必须推荐alfredapp.com。我用它的伟大。比聚光灯快!
kevin9794

谢谢。我安装了alfred,并将MacVim文件夹添加到了搜索范围。我的状态要好得多。
m_sharp 2011年

3
好,我知道了。如果我为/usr/local/Cellar/macvim/7.3-61/MacVim.app做一个别名,Spotlight将为其编制索引。有关别名的更多信息,请查看switchingtomac.com/tutorials/creating-aliases-in-mac-os-x
m_sharp 2011年

3
欢迎询问不同!如果您找到了解决方案,请将其作为答案发布,以便其他遇到相同问题的人更容易看到有帮助的解决方案。请查看常见问题以获取更多信息。谢谢。
内森·格林斯坦

1
为了澄清@m_sharps的评论,看来Spotlight会索引别名,而不是符号链接(ln -s)。
zourtney

Answers:


37

在Finder中,按CommandShiftG转到文件夹。键入/usr/local/Cellar/macvim/7.3-61/并按return。选择文件(实际上是文件夹)MacVim.appCommandL进行制作别名。根据权限的不同,此处可能会提示您输入管理员密码。

CommandN创建新的查找器窗口。按下CommandShiftA以转到该窗口中的“ 应用程序”文件夹。

将新创建的别名从创建它的窗口拖到包含“ 应用程序”文件夹的窗口中。重命名别名,使其不再以“别名”结尾。


2
我按照您的步骤进行操作,MacVim出现在聚光灯下。但是,当尝试从聚光灯下启动MacVim时,出现错误消息“ MacXim被OS X使用,无法打开”。
m_sharp 2011年

嗯 不使用Spotlight时,通常如何启动MacVim?那么,您是否收到错误消息?
丹尼尔

也许Spotlight无法启动,因为它没有访问/ usr / local /的权限。
styfle 2012年

我首先通过使用'sudo chflags nohidden / usr / local / Cellar'更改了/ usr / local / Cellar的权限来工作(我实际上是针对/ usr / usr / local和/ usr / local / Cellar这样做的)。然后,我使用Finder为MacVim(地窖中的那个)创建一个别名。然后,将别名移到“应用程序”文件夹中。现在,Spotlight可以找到MacVim(请在其列表的底部查看,直到您将其打开一次)。
克里斯

我还需要进行其他权限更改,默认情况下,似乎创建的符号链接完全没有任何执行权限,并添加了那些使符号链接出现在聚光灯下。奇怪的是,我创建的别名,然后将其重命名为最后没有包含“ alias”一词的别名,也没有受到关注。将“别名”放回符号链接名称的末尾
可修复

6

别名方法对我不起作用。更好的选择是使用Automator创建运行Shell脚本的应用程序:在此处输入图片说明

另外,像其他答案一样,直接链接到Cellar目录中的MacVim.app,可以将您绑定到特定版本。如果brew升级MacVim,您的链接仍将指向旧版本。相反,您应该使用:

open /usr/local/opt/macvim/MacVim.app $@

因为该位置由brew自动链接到最新版本。

这对我来说很棒。我将Automator文件保存在iCloud中,因此可以方便地在其他计算机上添加该应用程序。


这似乎是最可靠的解决方案。有什么$@用?
Jacktose

1
$ @表示传递给脚本的参数。在这种情况下,传递给脚本的所有args都将转发到MacVim.app(即文件名,选项等)。有关特殊的shell变量,请参见此答案
zim 2013年

嗯谢谢 Google真的很难$@。但是,由于脚本只是通过选择应用程序运行的,因此在这种情况下,实际上可以做任何事情吗?
Jacktose

1
是的,例如,如果您Open with在Finder中对文件使用命令,则很有用。该应用程序将以文件路径作为第一个参数启动。或者,如果将MacVim设置为文件类型(例如.txt)的默认应用程序,则双击.txt文件将启动MacVim,并将所选文件作为第一个参数。
zim 2013年

4

我解决此问题的方法是使用Shell脚本并进行验证。

例如,使用包含以下内容的文本编辑器制作脚本

#!/bin/bash

/usr/local/Cellar/macvim/7.3-61/MacVim.app

然后得到appify - http://git.abackstrom.com/appify.git

在外壳程序脚本上运行appify,它将制作一个您可以放在/ Applications中的应用程序,该应用程序将调用MacVim。这将在聚光灯下显示。


1
如果您要采用这种方式,只需创建一个Automator应用程序即可运行脚本。
ocodo 2014年

是的@Slomojo,事实证明这是最简单的方法。我创建了一个外壳脚本来启动该应用程序(在我的情况下为libreoffice)并将其放在/ usr / bin中。然后,我使用了automator来调用脚本,并将Automator创建的App以我想在Spotlight中使用的名称保存在我的Applications文件夹中。荒诞。
atripes

3

为了保持美观和可编写脚本,您可以使用osascript运行一些AppleScript并自动创建别名。

osascript <<END

  set macvim to POSIX file "/usr/local/Cellar/macvim/7.3-61/MacVim.app" 
  set applications_folder to POSIX file "/Applications"

  tell application "Finder"
    make alias file to macvim at applications_folder
  end tell

END

实际上,这很奏效,这与我在不同地方发现的许多镶嵌单线纸不同。
Xander Dunn 2014年

1
我建议实际将MacVim应用程序移至“应用程序”。或通过冲泡桶安装。别名确实在聚光灯下建立索引,但它们的排名令人讨厌。
ocodo 2014年

谢谢。我注意到,很难让Spotlight选择我的MacVim别名。
Xander Dunn

2

对于那些使用自制软件安装macvim的用户(完全推荐)

安装后运行以下命令

brew linkapps macvim

1
不幸的是,这些没有出现在Spotlight中。
Jacktose

但是您可以为/ Applications目录中的MacVim链接创建别名,该别名由Spotlight获取。
Piotr Czapla

不幸的是,“ brew linkapps”已不存在,并且不会被替换。
Katarzyna

2
  1. 符号链接(ln -s)对我来说效果不佳,看来Spotlight不会将其视为应用程序。

  2. 设置Finder别名(如Daniel所述)在从Finder启动时效果更好,但在使用Finder Open With ...时不能这样做,别名将保持为灰色。

特别是,就像这里其他评论中提到的那样,我还希望MacVim在使用Finder中的“打开方式...”时可用,但是无论使用符号链接还是Finder别名,MacVim都将保持灰色。

对我有用的是带有“ Run Shell Script”命令的简单的Automator脚本(如zim所述)。与zim在他的答案中显示的内容相比,我要做的唯一不同就是添加-a参数来打开

open -a /usr/local/opt/macvim/MacVim.app $@

如果不使用-a,则与“ Open With ...”一起使用时,MacVim会启动,但参数文件名会使用其默认应用程序打开—因此,我将同时获得带有空文档的MacVim和带有文件I的TextEdit选择打开(而不是打开我选择的文件的MacVim)。

可以将自动脚本复制或别名到“应用程序”文件夹。通过复制并粘贴Finder的“获取信息”弹出窗口中的图标,我还将我的自动脚本的图标更改为MacVim的图标。


0

在尝试了几种建议的解决方案之后,对我来说最好的方法是将应用程序从“自制酒窖”复制到应用程序目录:

cp -r /usr/local/Cellar/macvim/7.3-66/MacVim.app / Applications /

Spotlight立即发现了它。


0

安装自制程序的简单操作使我可以创建指向Sublime Text的符号链接。也许您需要更多。

如果您有macOS,请在此处安装自制软件

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

然后从命令行(假设已安装ST)

ln -s“ /应用程序/ Sublime Text.app/Contents/SharedSupport/bin/subl” / usr / local / bin / subl


-2

听起来您可以从终端执行以下操作。

$ ln -s /usr/local/Cellar/macvim/7.3-61/MacVim.app /Applications

您可能需要使用sudo将符号链接放在/ Applications目录中。


3
Spotlight将指向“系统文件”的符号链接视为系统文件,因此未在正常结果中列出。别名是。
Lri 2012年

有什么方法可以在Bash中以编程方式创建OS X别名吗?
Mathias Bynens 2012年

@MathiasBynens-看我的回答,一点AppleScript就能做到。
ocodo 2014年
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.