MacVim non è stato trovato da Spotlight


10

Sono un Mac Noob ma generalmente un potente utente Linux. Il mio nuovo lavoro mi ha consegnato un nuovo MacBook Pro con Lion installato.

Ho installato MacVim con successo usando homebrew. Mi piacerebbe che fosse l'app predefinita per l'apertura di alcuni tipi di file. (.rb, .haml)

Ma quando provo ad assegnare MacVim come app predefinita nel Finder, l'app non viene ascoltata. Una ricerca Spotlight su MacVim mostra solo il file .tgz originale.

Eppure posso eseguirlo da una riga di comando (mvim) e bloccarlo sul dock ed eseguirlo da lì.

Immagino che debba essere creato qualcosa chiamato "alias" e ho l'impressione che sia qualcosa di diverso da un collegamento simbolico. In effetti ho un link simbolico nella mia cartella ~ / Applications per MacVim, creata lì da homebrew.

Come posso in qualche modo benedire MacVim come un'app installata e assegnarla per aprire determinate estensioni di file?


1
Prova brew link macvim. Ah aspetta ... ho anche avuto un problema che in qualche modo il mio link non funzionava anche se era lì. Puoi unlinkprima e linkancora e se non funziona, reinstallalo.
Felix,

1
beh, sembra che non abbia avuto alcun effetto ...
Mojo,

Le istruzioni per MacVim come app "normale" funzionano? Ciò eliminerebbe qualsiasi dubbio sul fatto che potrebbe essere il binario stesso.
digitxp,

Ho avuto lo stesso problema e il collegamento simbolico non è stato scelto da Spotlight. È stato risolto passando ad Alfredo (www.alfredapp.com) invece di Spotlight poiché Spotlight non sembra scegliere i collegamenti alle cartelle dei collegamenti simbolici. Discussione
Arsal

Risposte:


5

Quando si scarica un file da Internet OS X, questo viene contrassegnato come "messo in quarantena". Puoi vederlo con un comando Terminale come:

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

Una delle cose che vedrai è che l'attributo chiamato "com.apple.quarantine" è impostato per la cartella MacVim.app (e per tutti i file all'interno della sua struttura). Se avvii l'app riceverai un avviso da OS X come "questa app è stata scaricata da Internet - vuoi procedere" e quando dici di sì, annulla la quarantena dei file nell'app. Puoi farlo manualmente per tutti i file nell'albero delle cartelle MacVim.app usando il comando Terminale:

xattr -dr com.apple.quarantine MacVim.app

O per un solo file con il comando:

xattr -d com.apple.quarantine somefile

Ho scaricato MacVim 7.3 e questo non avrebbe funzionato fino a quando non avessi eseguito il comando xattr -dr ..., ma non appena l'ho fatto, ha iniziato a funzionare benissimo ovunque fosse installato. Imposta un file per usare MacVim per aprirlo e ha funzionato anche (usando la finestra di dialogo "GetInfo").

La posizione dell'app MacVim non è molto importante. È solo per convenzione che le app si trovano di solito nella cartella / Applicazioni. Questo potrebbe non essere vero per alcune app, ma solo per motivi di uniformità probabilmente è una buona idea.

A volte potrebbe esserci un motivo per cui questo non è pratico, come forse non hai il permesso di scrivere nella cartella / Applicazioni.


Bob, grazie per quella bellissima risposta! La mia soluzione per la forza bruta di seguito ha funzionato, ma non avrei mai saputo della quarantena delle mele.
Mojo,

Sfortunatamente, questo non ha funzionato per me.
Dan Loewenherz,

10

Ho avuto lo stesso problema. Ho spostato MacVim.app in / Applicazioni e quindi ho effettuato il collegamento simbolico nella directory della cantina homebrew.

mv /usr/local/Cellar/macvim/7.3-65/MacVim.app / Applicazioni /  
ln -s /Applications/MacVim.app /usr/local/Cellar/macvim/7.3-65/

Come per il commento di Mojo, ho anche dovuto copiarlo piuttosto che ricollegarlo. Lo spostamento / symlink lo abilitava sotto i riflettori ma non potevo più avviarlo digitando "mvim" in un terminale. Copiarlo in entrambe le posizioni risolto questo problema.
optevo,

5

Per quelli con Yosemite e MacVim di homebrew che non appaiono in Spotlight, usano un alias.

(Assicurati di eliminare qualsiasi MacVim già presente /Applications.)

Dal terminal:

  1. Disinstalla esistente: brew uninstall macvim
  2. Installa più recente: brew install macvim
  3. Apri la directory nel Finder. Ex:open /usr/local/Cellar/macvim/7.3-64
  4. Nel Finder, fai clic con il MacVim.apptasto destro sull'icona e seleziona "Crea alias".
  5. Copia l'alias appena creato nella /Applicationscartella.

Spotlight indicizzerà l'alias di MacVim.

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


1
ha funzionato per me, ma Spotlight restituisce l'app solo se la ricerca fa distinzione tra maiuscole e minuscole. nessun risultato se cerco "macvim", ma restituisce app se la ricerca è "MacVim"
user34215

Si noti che è possibile creare un alias con un nome diverso. Nel mio caso ne ho creato uno chiamato "vim".
alanning

2

Quello che ha funzionato per me è copiare l'intero albero MacVim.app da dove homebrew lo ha installato (/ usr / local / Cellar / ...) su / Applicazioni. Un collegamento sym era insufficiente e non riuscivo a creare un "alias" che funzionasse.


2

L'installazione di MacVim tramite cask sembra renderlo disponibile in Spotlight:

brew cask install macvim

0

Questa era la mia configurazione: ho usato homebrew per installare MacVim su El Capitan e ho usato i linkapps per aggiungere un link simbolico a /Applications/MacVIM.app. Purtroppo questo non è stato raccolto da Spotlight. Sono stato in grado di far funzionare i riflettori creando una porzione dell'albero delle directory in MacVIM.app. Spotlight richiede che i file Info.plist e PkgInfo siano file non simbolici in MacVim.app/Contents. Quindi alla fine ho fatto quanto segue:

    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

Questo è stato. Nota: quando aggiorni MacVim usando brew, potresti aver eseguito i passaggi:

    cd /Application/MacVim.app/Contents
    cp Info.plist.link Info.plist
    cp PkgInfo.link PkgInfo
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.