Puis-je faire apparaître un lien symbolique (vers un dossier .app) dans le répertoire Applications sous Spotlight?

45

J'ai utilisé Brew pour installer MacVim et le mettre dans /usr/local/Cellar/macvim/7.3-61/MacVim.app

J'aimerais pouvoir mettre en lumière et taper MacVim pour lancer l'application. J'ai essayé de créer un lien symbolique dans le répertoire Applications /usr/local/Cellar/macvim/7.3-61/MacVim.app. Mais cela ne semble pas apparaître dans Spotlight. Je mets les bits exécutables sur le lien symbolique. ouvrez MacVim.app à partir de la ligne de commande. Comment faire en sorte que MacVim apparaisse dans la recherche Spotlight?

m_sharp
la source
2
Spotlight ne cherche pas dans les dossiers cachés et ne fonctionne apparemment pas non plus pour les alias. Utilisez-vous Spotlight pour lancer des applications? Si c'est le cas, je dois recommander alfredapp.com . Je l'utilise et c'est génial. Plus rapide que les projecteurs!
kevin9794
Merci. J'ai installé alfred et ajouté le dossier MacVim à la zone de recherche. Je suis beaucoup mieux en forme.
m_sharp
3
OK, je l'ai compris. Si je crée un alias dans /usr/local/Cellar/macvim/7.3-61/MacVim.app, Spotlight l'indexera. Pour en savoir plus sur les pseudonymes, visitez le site switchingtomac.com/tutorials/creating-aliases-in-mac-os-x
m_sharp
3
Bienvenue à Ask Different! Si vous avez trouvé une solution, postez-la comme réponse afin que les autres personnes ayant le même problème puissent voir plus facilement ce qui a aidé. Veuillez consulter la FAQ pour plus d'informations. Merci.
Nathan Greenstein
1
Pour clarifier le commentaire de @ m_sharps, il apparaît que Spotlight indexera les alias, mais pas les liens symboliques ( ln -s).
Zourtney

Réponses:

37

Dans le Finder, appuyez sur CommandShiftGpour accéder au dossier . Tapez /usr/local/Cellar/macvim/7.3-61/et appuyez sur return. Sélectionnez le fichier (en fait un dossier) MacVim.app Appuyez sur cette optionCommandL pour créer un alias . En fonction des autorisations, vous pouvez être invité à entrer un mot de passe administrateur ici.

Appuyez sur CommandNpour créer une nouvelle fenêtre du Finder . Appuyez sur CommandShiftApour aller au dossier Applications dans cette fenêtre.

Faites glisser le nouvel alias créé à partir de la fenêtre dans laquelle il a été créé vers la fenêtre contenant le dossier Applications . Renommez l'alias pour qu'il ne se termine plus par "alias".

Daniel
la source
2
J'ai suivi vos pas et MacVim apparaît sous les projecteurs. Cependant, lorsque j'essaie de lancer MacVim à partir de Spotlight, un message d'erreur apparaît: "L'article MacVim est utilisé par OS X et ne peut pas être ouvert".
m_sharp
Hmmm. Comment lancez-vous MacVim normalement lorsque vous n’utilisez pas Spotlight? Avez-vous un message d'erreur alors?
Daniel
Peut-être que spotlight ne pourra pas le lancer car il ne dispose pas des autorisations nécessaires pour accéder à / usr / local / ou à quelque chose d'autre.
Styfle
Pour que cela fonctionne, modifiez d'abord les autorisations sur / usr / local / Cellar avec 'sudo chflags nohidden / usr / local / Cellar' (c'est ce que j'ai fait pour / usr / usr / local et / usr / local / Cellar). Ensuite, j'ai utilisé le Finder pour créer un alias pour MacVim (celui de Cellar). Ensuite, j'ai déplacé l'alias dans mon dossier Applications. Spotlight trouve maintenant MacVim (regardez au bas de la liste jusqu'à ce que vous l'ouvriez une fois).
Chris
J'avais également besoin de faire des changements d'autorisations supplémentaires. Par défaut, il apparaît que le lien symbolique a été créé sans aucune autorisation d'exécution, en ajoutant ceux qui ont fait apparaître le lien symbolique dans Spotlight. Curieusement, les alias que j'ai créés puis renommés en quelque chose qui n'incluait pas le mot "alias" à la fin n'ont pas non plus été repris sous les projecteurs. Remettre "alias" à la fin du nom du lien symbolique le fixe
chrismarx
6

La méthode des alias n'a pas fonctionné pour moi. Une meilleure option consiste à utiliser Automator pour créer une application qui exécute un script shell:entrez la description de l'image ici

En outre, la liaison directe vers MacVim.app dans le répertoire Cellar, comme le suggèrent certaines des réponses, vous lie à une version spécifique. Si Brew met à niveau MacVim, votre lien indiquera toujours l'ancienne version. Au contraire, vous devriez utiliser:

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

car cet emplacement est automatiquement lié par lien vers la version la plus récente.

Cela a bien fonctionné pour moi. Je sauvegarde le fichier Automator dans iCloud afin de pouvoir facilement ajouter l'application sur d'autres ordinateurs.

zim
la source
Cela semble être la solution la plus robuste. Quel est le $@pour?
Jacktose
1
Le $ @ représente les arguments passés au script. Dans ce cas, tous les arguments transmis au script sont transmis à MacVim.app (noms de fichiers, options, etc.). Consultez cette réponse à propos des variables spéciales du shell.
Zim
Ah merci. C'est vraiment difficile de google $@. Est-ce que cela va réellement faire quelque chose dans ce cas, cependant, puisque le script est en cours d'exécution en sélectionnant l'application?
Jacktose
1
Oui, c'est utile, par exemple, si vous utilisez la Open withcommande sur un fichier dans le Finder. L'application sera lancée avec le chemin du fichier comme premier argument. Ou si vous définissez MacVim comme application par défaut pour un type de fichier, par exemple .txt - double-cliquez sur un fichier .txt pour lancer MacVim avec le fichier sélectionné comme premier argument.
Zim
4

La façon dont j'ai résolu ce problème consiste à utiliser un script shell et appify.

Par exemple, créez un script avec un éditeur de texte contenant

#!/bin/bash

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

Ensuite, obtenez appify - http://git.abackstrom.com/appify.git

Exécutez appify sur le script shell et cela créera une application que vous pourrez mettre dans / Applications qui invoqueront MacVim. Cela apparaîtra sous les projecteurs.

Dean Smith
la source
1
Si vous voulez le faire de cette façon, créez simplement une application Automator pour exécuter le script.
ocodo
Oui @ Slomojo, cette approche s’est révélée la plus simple. J'ai créé un script de shell qui démarre l'application (dans mon cas, libreoffice) et le place dans / usr / bin. Ensuite, j'ai utilisé automator pour invoquer le script et enregistrer l'application créée par Automator dans mon dossier Applications sous le nom que je voulais utiliser dans Spotlight. Absurde.
arrive le
3

Pour garder les choses agréables et scriptables, vous pouvez utiliser osascriptpour exécuter un petit AppleScript et créer votre alias automatiquement.

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
la source
Cela a effectivement fonctionné, contrairement à de nombreux one-liners en osascript que j'ai trouvés à divers endroits.
Xander Dunn
1
Je recommande en fait de déplacer l'application MacVim vers Applications. Ou l'installer via un tonneau de bière. Les pseudonymes sont indexés sous les projecteurs, mais leur classement est extrêmement bas.
octobre
Merci. J'ai remarqué qu'il était difficile de demander à Spotlight de choisir mon alias MacVim.
Xander Dunn
2

Pour ceux qui utilisent homebrew pour installer macvim (totalement recommandé)

Exécutez ce qui suit après l'installation

brew linkapps macvim
DevByStarlight
la source
1
Malheureusement, ceux-ci n'apparaissent pas dans Spotlight.
Jacktose
mais vous pouvez créer un alias pour le lien MacVim dans le répertoire / Applications. Cet alias est récupéré par Spotlight.
Piotr Czapla
Malheureusement, les 'brassers de liens' n'existent plus et ils ne sont pas remplacés.
Katarzyna
2
  1. Les liens symboliques (ln-s) ne fonctionnaient pas bien pour moi, il ne semblait pas que Spotlight verrait cela comme une application.

  2. Créer un alias de recherche (comme décrit par Daniel) fonctionnait mieux en ce qui concerne le lancement à partir de Finder, mais ne le faisait pas lorsque vous utilisiez Finder Open With ... , l'alias resterait grisé.

En particulier, comme mentionné dans d'autres commentaires ici, je souhaitais également que MacVim soit disponible lors de l'utilisation de Open With ... from Finder, mais avec le lien symbolique ou l'alias du Finder, MacVim resterait grisé.

Ce qui a fonctionné pour moi, c’est le simple script Automator (décrit par zim), avec la commande "Run Shell Script". La seule chose que j'ai dû faire différemment de ce que zim a montré dans sa réponse est d'ajouter le paramètre -a à ouvrir :

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

Sans le -a, utilisé avec "Ouvrir avec ...", MacVim se lancerait, mais le paramètre nom_fichier s'ouvrirait quelle que soit l'application par défaut - de sorte que j'obtiendrais les deux MacVim avec un document vide ET TextEdit avec le fichier I avait choisi d'ouvrir (plutôt que MacVim avec mon fichier sélectionné ouvert).

Le script de l'automate peut être copié ou aliasé dans le dossier Applications. J'ai également changé l'icône de mon script d'automation en icône de MacVim en copiant / collant l'icône à partir de la fenêtre contextuelle Lire les informations du Finder.

Andrew Gilchrist
la source
0

Après avoir essayé plusieurs des solutions suggérées, la meilleure chose qui a fonctionné pour moi a été de copier l'application de Homebrew Cellar dans le répertoire des applications:

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

Spotlight l'a trouvé instantanément.

utilisateur39587
la source
0

Le simple fait d'installer homebrew m'a permis de créer un lien symbolique vers Sublime Text. Peut-être avez-vous besoin de plus.

Installez homebrew ici si vous avez macOS

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

puis en ligne de commande (en supposant que ST est installé)

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

Michael Sefranek
la source
-2

On dirait que vous pouvez faire ce qui suit à partir du terminal.

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

Vous devrez peut-être utiliser sudopour placer le lien symbolique dans le répertoire / Applications.

afragen
la source
3
Spotlight traite les liens symboliques vers les "fichiers système" en tant que fichiers système. Ils ne sont donc pas répertoriés dans les résultats normaux. Les alias sont bien.
Lri
Un moyen de créer un alias OS X par programme dans Bash?
Mathias Bynens
@ MathiasBynens - voir ma réponse, un petit AppleScript le fera.
ocodo