Spotlight no encuentra MacVim

10

Soy un novato de Mac, pero generalmente soy un usuario avanzado de Linux. Mi nuevo trabajo me entregó una nueva MacBook Pro con Lion instalado.

Instalé MacVim con éxito usando homebrew. Me encantaría que sea la aplicación predeterminada para abrir ciertos tipos de archivos. (.rb, .haml)

Pero cuando intento asignar MacVim como la aplicación predeterminada en el Finder, la aplicación es desconocida. Una búsqueda de Spotlight en MacVim solo muestra el archivo .tgz original.

Sin embargo, puedo ejecutarlo desde una línea de comando (mvim) y fijarlo al muelle y ejecutarlo desde allí.

Supongo que es necesario crear algo llamado "alias", y tengo la impresión de que esto es algo diferente de un enlace simbólico. De hecho, tengo un enlace simbólico en mi carpeta ~ / Aplicaciones para MacVim, creado allí por homebrew.

¿Cómo puedo bendecir de alguna manera a MacVim para que sea una aplicación instalada y asignarla para abrir ciertas extensiones de archivo?

Mojo
fuente
1
Tratar brew link macvim. Ah, espera ... También tuve el problema de que de alguna manera mi enlace no funcionaba aunque estaba allí. Puede unlinkhacerlo una y linkotra vez y si eso no funciona, vuelva a instalarlo.
Felix el
1
bueno, eso no pareció tener ningún efecto ...
Mojo
¿ Funcionan las instrucciones para MacVim como una aplicación "normal"? Eso eliminaría cualquier duda de que podría ser el binario en sí.
digitxp
Tuve el mismo problema y Spotlight no seleccionó el enlace simbólico. Lo resolvió cambiando a Alfredo (www.alfredapp.com) en lugar de Spotlight, ya que Spotlight no parece elegir accesos directos a carpetas de enlaces simbólicos. Tema
Arsal

Respuestas:

5

Cuando descarga un archivo de Internet OS X lo marca como "en cuarentena". Puede ver esto con un comando de Terminal como:

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

Una de las cosas que verá es que el atributo llamado "com.apple.quarantine" está configurado para la carpeta MacVim.app (y para todos los archivos dentro de su árbol). Si inicia la aplicación, recibirá una advertencia de OS X como "esta aplicación se ha descargado de Internet, ¿desea continuar" y cuando diga que sí, eliminará la cuarentena de los archivos de la aplicación. Puede hacer esto manualmente para todos los archivos en el árbol de carpetas MacVim.app usando el comando Terminal:

xattr -dr com.apple.quarantine MacVim.app

O solo para un archivo con el comando:

xattr -d com.apple.quarantine somefile

Descargué MacVim 7.3 y esto no funcionaría hasta que ejecutara el comando xattr -dr ..., pero tan pronto como lo hice, comenzó a funcionar bien desde donde estaba instalado. Configure un archivo para usar MacVim para abrirlo y también funcionó (usando el cuadro de diálogo "GetInfo").

La ubicación de la aplicación MacVim no es realmente importante. Es solo que, por convención, las aplicaciones generalmente se encuentran en la carpeta / Aplicaciones. Esto puede no ser cierto para algunas aplicaciones, pero solo por el bien de la uniformidad, probablemente sea una buena idea.

A veces puede haber una razón por la cual esto no es práctico, como tal vez no tenga permiso de escritura en la carpeta / Aplicaciones.

Bob Freeman
fuente
Bob, gracias por esa hermosa respuesta! Mi solución de fuerza bruta a continuación funcionó, pero nunca habría sabido sobre la cuarentena de manzanas.
Mojo
Lamentablemente, esto no funcionó para mí.
Dan Loewenherz
10

Tuve el mismo problema. Moví MacVim.app a / Aplicaciones y luego hice un enlace simbólico en el directorio de la bodega 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
fuente
Según el comentario de Mojo, también tuve que copiarlo en lugar de vincularlo. El movimiento / enlace simbólico lo habilitó en el centro de atención, pero ya no pude iniciarlo escribiendo "mvim" en un terminal. Copiarlo en ambas ubicaciones solucionó esto.
Optevo
5

Para aquellos con Yosemite y MacVim de homebrew que no aparecen en Spotlight, usar un alias funciona.

(Asegúrese de eliminar cualquier MacVim que ya esté en /Applications).

Desde la terminal:

  1. Desinstalar existente: brew uninstall macvim
  2. Instalar más reciente: brew install macvim
  3. Abrir directorio en Finder. Ex:open /usr/local/Cellar/macvim/7.3-64
  4. En Finder, MacVim.apphaz clic derecho en el icono y selecciona "Crear alias".
  5. Copie el alias que acaba de crear en la /Applicationscarpeta.

Spotlight indexará el alias de MacVim.

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

alanning
fuente
1
esto funcionó para mí, pero Spotlight devuelve la aplicación solo si la búsqueda distingue entre mayúsculas y minúsculas. no hay resultado si busco "macvim", pero devuelve la aplicación si la búsqueda es "MacVim"
user34215
Tenga en cuenta que puede crear un alias con un nombre diferente. En mi caso hice uno llamado "vim".
alanning
2

Lo que funcionó para mí es copiar todo el árbol MacVim.app desde donde lo instaló homebrew (/ usr / local / Cellar / ...) a / Aplicaciones. Un enlace sym era insuficiente, y no pude hacer un "alias" que funcionara.

Mojo
fuente
2

Instalar MacVim usando cask parece hacerlo disponible en Spotlight:

brew cask install macvim
Jon
fuente
0

Esta fue mi configuración: utilicé homebrew para instalar MacVim en El Capitan y utilicé las aplicaciones de enlace para agregar un enlace simbólico a /Applications/MacVIM.app. Desafortunadamente, esto no fue recogido por Spotlight. Pude lograr que Spotlight funcionara creando una parte del árbol de directorios en MacVIM.app. Spotlight requiere que los archivos Info.plist y PkgInfo sean archivos que no sean enlaces simbólicos en MacVim.app/Contents. Así que al final hice lo siguiente:

    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

Eso fue todo. Nota: cuando actualiza su MacVim usando brew, es posible que haya realizado los pasos:

    cd /Application/MacVim.app/Contents
    cp Info.plist.link Info.plist
    cp PkgInfo.link PkgInfo
usuario583446
fuente