MacVim n'est pas trouvé par Spotlight

10

Je suis un Mac Noob mais généralement un grand utilisateur de Linux. Mon nouveau travail m'a remis un nouveau MacBook Pro avec Lion installé.

J'ai installé MacVim avec succès en utilisant homebrew. J'adorerais que ce soit l'application par défaut pour ouvrir certains types de fichiers. (.rb, .haml)

Mais lorsque j'essaie d'assigner MacVim comme application par défaut dans le Finder, l'application est inconnue. Une recherche Spotlight sur MacVim révèle uniquement le fichier .tgz d'origine.

Pourtant, je peux l'exécuter à partir d'une ligne de commande (mvim) et l'épingler sur le dock et l'exécuter à partir de là.

Je suppose que quelque chose appelé "alias" doit être créé, et j'ai l'impression que c'est quelque chose de différent d'un lien symbolique. En effet j'ai un lien symbolique dans mon dossier ~ / Applications pour MacVim, créé par homebrew.

Comment puis-je en quelque sorte bénir MacVim pour être une application installée et l'attribuer pour ouvrir certaines extensions de fichier?

Mojo
la source
1
Essayez brew link macvim. Ah, attendez ... J'ai aussi eu un problème que mon lien ne fonctionnait pas bien qu'il soit là. Vous pouvez le unlinkfaire d'abord et linkencore et si cela ne fonctionne pas, réinstallez-le.
Felix
1
eh bien cela ne semble pas avoir eu d'effet ...
Mojo
Les instructions pour MacVim en tant qu'application "régulière" fonctionnent-elles? Cela éliminerait toute question que ce pourrait être le binaire lui-même.
digitxp
J'ai eu le même problème et le lien symbolique n'était pas sélectionné par Spotlight. Il a été résolu en passant à Alfredo (www.alfredapp.com) au lieu de Spotlight, car Spotlight ne semble pas choisir de raccourcis de dossier de lien symbolique. Sujet
Arsal

Réponses:

5

Lorsque vous téléchargez un fichier depuis Internet, OS X le marque comme "mis en quarantaine". Vous pouvez le voir avec une commande Terminal comme:

 cd "wherever your app folder is" (not in the .app folder itself)
 ls -la@

L'une des choses que vous verrez est que l'attribut appelé "com.apple.quarantine" est défini pour le dossier MacVim.app (et pour tous les fichiers de son arborescence). Si vous démarrez l'application, vous recevrez un avertissement d'OS X comme "cette application a été téléchargée sur Internet - voulez-vous continuer" et lorsque vous direz oui, la mise en quarantaine des fichiers dans l'application sera supprimée. Vous pouvez le faire manuellement pour tous les fichiers de l'arborescence de dossiers MacVim.app en utilisant la commande Terminal:

xattr -dr com.apple.quarantine MacVim.app

Ou pour un seul fichier avec la commande:

xattr -d com.apple.quarantine somefile

J'ai téléchargé MacVim 7.3 et cela ne fonctionnerait pas tant que je n'aurais pas exécuté la commande xattr -dr ..., mais dès que je l'ai fait, il a commencé à fonctionner correctement où qu'il soit installé. Définissez un fichier pour utiliser MacVim pour l'ouvrir et cela a également fonctionné (en utilisant la boîte de dialogue "GetInfo").

L'emplacement de l'application MacVim n'est pas vraiment important. C'est juste que par convention, les applications sont généralement situées dans le dossier / Applications. Cela peut ne pas être vrai pour certaines applications, mais juste pour des raisons d'uniformité, c'est probablement une bonne idée.

Parfois, il peut y avoir une raison pour laquelle cela n'est pas pratique, comme peut-être que vous n'avez pas la permission d'écrire dans le dossier / Applications.

Bob Freeman
la source
Bob, merci pour cette belle réponse! Ma solution de force brute ci-dessous a fonctionné, mais je n'aurais jamais connu la quarantaine aux pommes.
Mojo
Malheureusement, cela n'a pas fonctionné pour moi.
Dan Loewenherz
10

J'ai eu le même problème. J'ai déplacé MacVim.app vers / Applications, puis j'ai créé un lien symbolique dans le répertoire de cave homebrew.

mv /usr/local/Cellar/macvim/7.3-65/MacVim.app / Applications /  
ln -s /Applications/MacVim.app /usr/local/Cellar/macvim/7.3-65/
Shaun Jackman
la source
Selon le commentaire de Mojo, j'ai également dû le copier plutôt que de le mettre en lien symbolique. Le déplacement / lien symbolique l'a activé sous les projecteurs mais je ne pouvais plus le lancer en tapant "mvim" dans un terminal. Le copier sur les deux emplacements a corrigé ce problème.
optevo
5

Pour ceux avec Yosemite et MacVim de homebrew n'apparaissant pas dans Spotlight, l'utilisation d'un alias fonctionne.

(Assurez-vous de supprimer tout MacVim déjà installé /Applications.)

Depuis le terminal:

  1. Désinstaller l'existant: brew uninstall macvim
  2. Installer la dernière: brew install macvim
  3. Ouvrez le répertoire dans le Finder. Ex:open /usr/local/Cellar/macvim/7.3-64
  4. Dans le Finder, MacVim.appfaites un clic droit sur l' icône et sélectionnez "Créer un alias".
  5. Copiez l'alias que vous venez de créer dans le /Applicationsdossier.

Spotlight indexera l'alias MacVim.

Source: https://github.com/Homebrew/homebrew/issues/8970#issuecomment-4262695

alanning
la source
1
cela a fonctionné pour moi, mais Spotlight ne renvoie l'application que si la recherche est sensible à la casse. aucun résultat si je recherche "macvim", mais renvoie l'application si la recherche est "MacVim"
user34215
Notez que vous pouvez créer un alias avec un nom différent. Dans mon cas, j'en ai fait un appelé "vim".
alanning
2

Ce qui a fonctionné pour moi, c'est de copier l'intégralité de l'arborescence MacVim.app d'où homebrew l'a installé (/ usr / local / Cellar / ...) dans / Applications. Un lien sym était insuffisant et je ne pouvais pas créer un "alias" qui fonctionnait.

Mojo
la source
2

L'installation de MacVim à l'aide de cask semble le rendre disponible dans Spotlight:

brew cask install macvim
Jon
la source
0

C'était ma configuration - utilisé homebrew pour installer MacVim sur El Capitan et utilisé les linkapps pour ajouter un lien symbolique vers /Applications/MacVIM.app. Malheureusement, cela n'a pas été repris par Spotlight. J'ai pu faire fonctionner Spotlight en créant une partie de l'arborescence de répertoires sous MacVIM.app. Spotlight requiert que les fichiers Info.plist et PkgInfo soient des fichiers sans lien symbolique sous MacVim.app/Contents. Donc à la fin, j'ai fait ce qui suit:

    cd /Applications
    rm -rf MacVim.app
    mkdir -p MacVim.app/Contents
    cd !$
    ln -s /usr/local/opt/macvim/MacVim.app/Contents/* .
    mv Info.plist Info.plist.link
    mv PkgInfo PkgInfo.link
    cp Info.plist.link Info.plist
    cp PkgInfo.link PkgInfo

C'était ça. Remarque: lorsque vous mettez à jour votre MacVim à l'aide de brew, vous pouvez avoir effectué les étapes:

    cd /Application/MacVim.app/Contents
    cp Info.plist.link Info.plist
    cp PkgInfo.link PkgInfo
user583446
la source