Kann ich einen Symlink (zu einem .app-Ordner) im Anwendungsverzeichnis im Rampenlicht anzeigen lassen?

45

Ich habe mit brew MacVim installiert und es wurde installiert /usr/local/Cellar/macvim/7.3-61/MacVim.app

Ich möchte in der Lage sein, ins Rampenlicht zu treten und MacVim einzugeben, um die App zu starten. Ich habe versucht, einen Symlink im Anwendungsverzeichnis zu erstellen /usr/local/Cellar/macvim/7.3-61/MacVim.app. Dies scheint jedoch nicht in Spotlight zu erscheinen. Ich habe die ausführbaren Bits auf dem Symlink gesetzt. Öffnen Sie MacVim.app über die Befehlszeile funktioniert. Wie kann ich MacVim in der Spotlight-Suche anzeigen lassen?

m_sharp
quelle
2
Spotlight sucht nicht in versteckten Ordnern und funktioniert anscheinend auch nicht für Aliase. Verwenden Sie Spotlight, um Apps zu starten? Wenn ja, muss ich alfredapp.com empfehlen . Ich benutze es und es ist großartig. Schneller als im Rampenlicht!
Kevin9794
Vielen Dank. Ich habe Alfred installiert und den MacVim-Ordner zum Suchbereich hinzugefügt. Ich bin in einer viel besseren Verfassung.
m_sharp
3
OK, ich habe es herausgefunden. Wenn ich einen Alias ​​für /usr/local/Cellar/macvim/7.3-61/MacVim.app erstelle, indiziert Spotlight diesen. Weitere
Informationen
3
Willkommen bei Ask Different! Wenn Sie eine Lösung gefunden haben, posten Sie diese bitte als Antwort, damit andere mit demselben Problem leichter erkennen können, was geholfen hat. Bitte werfen Sie einen Blick auf die FAQs für weitere Informationen. Vielen Dank.
Nathan Greenstein
1
Um den Kommentar von @ m_sharps zu verdeutlichen, scheint es, dass Spotlight Aliase, aber keine symbolischen Links ( ln -s) indiziert .
zourtney

Antworten:

37

Drücken Sie im Finder CommandShiftGfür Gehe zum Ordner . Tippen /usr/local/Cellar/macvim/7.3-61/und drücken return. Wählen Sie die Datei (eigentlich ein Ordner) MacVim.app Drücken CommandLfür Make Alias . Abhängig von den Berechtigungen werden Sie hier möglicherweise zur Eingabe eines Administratorkennworts aufgefordert.

Drücken Sie CommandN, um ein neues Finder-Fenster zu erstellen . Drücken Sie, CommandShiftAum zu den Anwendungen Ordner in diesem Fenster.

Ziehen Sie den neu erstellten Alias ​​aus dem Fenster, in dem er erstellt wurde, in das Fenster mit dem Anwendungsordner . Benennen Sie den Alias ​​um, damit er nicht mehr mit "Alias" endet.

Daniel
quelle
2
Ich bin Ihren Schritten gefolgt und MacVim taucht im Rampenlicht auf. Beim Versuch, MacVim über Spotlight zu starten, wird jedoch die Fehlermeldung "Element MacVim wird von OS X verwendet und kann nicht geöffnet werden" angezeigt.
m_sharp
Hmmm. Wie starte ich MacVim normalerweise, wenn ich Spotlight nicht benutze? Bekommst du dann eine Fehlermeldung?
Daniel
Möglicherweise kann spotlight es nicht starten, da es nicht über die Berechtigungen zum Zugriff auf / usr / local / oder etwas verfügt.
Styfle
Ich habe dies funktioniert, indem ich zuerst die Berechtigungen für / usr / local / Cellar mit 'sudo chflags nohidden / usr / local / Cellar' geändert habe (ich habe dies tatsächlich für / usr / usr / local und / usr / local / Cellar getan). Dann habe ich mit Finder einen Alias ​​für MacVim (den im Keller) erstellt. Dann habe ich den Alias ​​in meinen Anwendungsordner verschoben. Spotlight findet nun MacVim (sehen Sie sich das Ende der Liste an, bis Sie es einmal öffnen).
Chris
Ich musste auch zusätzliche Berechtigungsänderungen vornehmen. Standardmäßig wurde der Symlink ohne Ausführungsberechtigungen erstellt, und es wurden diejenigen hinzugefügt, die den Symlink im Rampenlicht erscheinen ließen. Seltsamerweise wurden Aliase, die ich erstellt und dann in etwas umbenannt habe, das am Ende nicht das Wort "Alias" enthielt, auch nicht im Rampenlicht aufgenommen. Das Zurücksetzen von "alias" an das Ende des Symlink-Namens
korrigierte es
6

Die Alias-Methode hat bei mir nicht funktioniert. Eine bessere Option ist die Verwendung von Automator zum Erstellen einer Anwendung, in der ein Shell-Skript ausgeführt wird:Bildbeschreibung hier eingeben

Wenn Sie wie in einigen anderen Antworten vorgeschlagen direkt auf MacVim.app im Cellar-Verzeichnis verweisen, werden Sie an eine bestimmte Version gebunden. Wenn Sie MacVim aktualisieren, verweist Ihr Link weiterhin auf die alte Version. Vielmehr sollten Sie verwenden:

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

da dieser Speicherort von brew automatisch mit der neuesten Version verknüpft wird.

Das hat bei mir super geklappt. Ich speichere die Automator-Datei in iCloud, damit ich die App bequem auf anderen Computern hinzufügen kann.

zim
quelle
Dies scheint die robusteste Lösung zu sein. Wofür ist das $@?
Jacktose
1
Das $ @ repräsentiert die an das Skript übergebenen Argumente. In diesem Fall werden alle an das Skript übergebenen Argumente an MacVim.app weitergeleitet (z. B. Dateinamen, Optionen usw.). Siehe diese Antwort zu speziellen Shell-Variablen.
Zim
Ah danke. Es ist wirklich schwer zu googeln $@. Tut das in diesem Fall tatsächlich etwas, da das Skript nur durch Auswahl der App ausgeführt wird?
Jacktose
1
Ja, es ist zum Beispiel hilfreich, wenn Sie den Open withBefehl für eine Datei im Finder verwenden. Die App wird mit dem Dateipfad als erstem Argument gestartet. Wenn Sie MacVim als Standard-App für einen Dateityp festlegen, z. B. TXT, wird MacVim durch Doppelklicken auf eine TXT-Datei mit der ausgewählten Datei als erstem Argument gestartet.
Zim
4

Die Art und Weise, wie ich das gelöst habe, ist die Verwendung eines Shell-Skripts und Appify.

Erstellen Sie beispielsweise ein Skript mit einem Texteditor, der Folgendes enthält

#!/bin/bash

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

Dann holen Sie sich appify - http://git.abackstrom.com/appify.git

Führen Sie appify im Shell-Skript aus und es wird eine Anwendung erstellt, die Sie in / Applications einfügen können, die MacVim aufruft. Dies wird im Rampenlicht angezeigt.

Dean Smith
quelle
1
Wenn Sie dies auf diese Weise tun, erstellen Sie einfach eine Automator-App, um das Skript auszuführen.
ocodo
Ja @Slomojo, das war der einfachste Ansatz. Ich habe ein Shellscript erstellt, mit dem die App (in meinem Fall libreoffice) gestartet und in / usr / bin abgelegt wird. Dann habe ich Automator verwendet, um das Skript aufzurufen, und die von Automator erstellte App in meinem Anwendungsordner unter dem Namen gespeichert, den ich in Spotlight verwenden wollte. Absurd.
Reife
3

Um die Dinge schön und skriptfähig zu halten, können Sie osascriptein kleines AppleScript ausführen und Ihren Alias ​​automatisch erstellen.

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
ocodo
quelle
Dies funktionierte tatsächlich, im Gegensatz zu vielen Einzeiler-Skripten, die ich an verschiedenen Orten gefunden habe.
Xander Dunn
1
Ich würde empfehlen, die MacVim-App tatsächlich in Programme zu verschieben. Oder installieren Sie es über Brühbehälter. Aliase indizieren zwar im Rampenlicht, werden aber als ärgerlich niedrig eingestuft.
ocodo
Vielen Dank. Mir ist aufgefallen, dass es schwierig ist, Spotlight zur Auswahl meines MacVim-Alias ​​zu bewegen.
Xander Dunn
2

Für diejenigen, die Macvim mit Homebrew installieren (absolut empfehlenswert)

Führen Sie nach der Installation Folgendes aus

brew linkapps macvim
DevByStarlight
quelle
1
Leider werden diese nicht in Spotlight angezeigt.
Jacktose
Sie können jedoch einen Alias ​​für den MacVim-Link im Verzeichnis / Programme erstellen. Der Alias ​​wird von Spotlight erkannt.
Piotr Czapla
'Brew linkapps' gibt es leider nicht mehr und es wird nicht ersetzt.
Katarzyna
2
  1. Symbolische Links (ln -s) funktionierten bei mir nicht gut, es schien nicht, dass Spotlight dies als Anwendung ansah.

  2. Das Erstellen eines Finder-Alias ​​(wie von Daniel beschrieben) funktionierte beim Starten über Finder besser, aber nicht, wenn Finder Open With ... verwendet wurde , blieb der Alias ​​ausgegraut.

Insbesondere, wie in anderen Kommentaren erwähnt, wollte ich, dass MacVim auch verfügbar ist, wenn Open With ... from Finder verwendet wird, aber entweder mit dem symbolischen Link oder dem Finder-Alias ​​würde MacVim ausgegraut bleiben.

Für mich hat das einfache Automator-Skript (wie zim beschrieben) mit dem Befehl "Shell-Skript ausführen" funktioniert. Das einzige, was ich anders machen musste als das, was zim in seiner Antwort gezeigt hat, ist das Hinzufügen des Parameters -a zum Öffnen :

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

Ohne das -a würde MacVim bei Verwendung mit "Öffnen mit ..." gestartet, aber auch der Dateiname des Parameters würde mit der Standardanwendung geöffnet - also würde ich sowohl MacVim mit leerem Dokument als auch TextEdit mit der Datei I erhalten hatte zum Öffnen ausgewählt (anstatt MacVim mit meiner ausgewählten Datei zu öffnen).

Das Automator-Skript kann in den Anwendungsordner kopiert oder mit einem Alias ​​versehen werden. Ich habe auch das Symbol meines Automator-Skripts in das MacVim-Symbol geändert, indem ich das Symbol aus den Finder Get Info-Popups kopiert und eingefügt habe.

Andrew Gilchrist
quelle
0

Nachdem ich einige der vorgeschlagenen Lösungen ausprobiert hatte, war es für mich das Beste, die App aus dem Homebrew-Keller in das Anwendungsverzeichnis zu kopieren:

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

Spotlight hat es sofort gefunden.

user39587
quelle
0

Durch die einfache Installation von Homebrew konnte ich einen Symlink zu Sublime Text erstellen. Vielleicht brauchen Sie mehr.

Installieren Sie Homebrew hier, wenn Sie MacOS haben

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

und dann von der Kommandozeile (vorausgesetzt, ST ist installiert)

ln -s "/ Applications / Sublime Text.app/Contents/SharedSupport/bin/subl" / usr / local / bin / subl

Michael Sefranek
quelle
-2

Klingt so, als könnten Sie vom Terminal aus Folgendes tun.

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

Möglicherweise müssen Sie verwenden sudo, um den Symlink in das Verzeichnis / Applications zu stellen.

afragen
quelle
3
Spotlight behandelt Symlinks zu "Systemdateien" als Systemdateien, sodass sie nicht in normalen Ergebnissen aufgeführt werden. Aliase sind allerdings.
Lri
Gibt es eine Möglichkeit, einen OS X-Alias ​​programmgesteuert in Bash zu erstellen?
Mathias Bynens
@ MathiasBynens - siehe meine Antwort, ein wenig AppleScript wird es tun.
ocodo