O MacVim não foi encontrado pelo Spotlight

10

Eu sou um Mac Noob, mas geralmente sou um usuário avançado do Linux. Meu novo trabalho me entregou um novo MacBook Pro com o Lion instalado.

Eu instalei o MacVim com sucesso usando o homebrew. Eu adoraria que fosse o aplicativo padrão para abrir certos tipos de arquivos. (.rb, .haml)

Mas quando tento atribuir o MacVim como o aplicativo padrão no Finder, o aplicativo é inédito. Uma pesquisa Spotlight no MacVim exibe apenas o arquivo .tgz original.

No entanto, eu posso executá-lo a partir de uma linha de comando (mvim) e fixá-lo ao dock e executá-lo a partir daí.

Suponho que algo chamado "alias" precisa ser criado e tenho a impressão de que isso é algo diferente de um link simbólico. Na verdade, eu tenho um link simbólico na minha pasta ~ / Applications para MacVim, criada lá pela homebrew.

Como posso, de alguma forma, abençoar o MacVim por ser um aplicativo instalado e atribuí-lo a abrir determinadas extensões de arquivo?

Mojo
fonte
1
Tente brew link macvim. Ah, espere ... Eu também tive um problema que, de alguma forma, meu link não funcionou, embora estivesse lá. Você pode unlinkfazê-lo primeiro e linknovamente e, se isso não funcionar, reinstale-o.
Felix
1
bem, que não pareceu ter nenhum efeito ...
Mojo
As instruções para o MacVim como um aplicativo "regular" funcionam? Isso eliminaria qualquer dúvida de que poderia ser o próprio binário.
digitxp
Eu tive o mesmo problema e o link simbólico não estava sendo escolhido pelo Spotlight. Para resolver o problema, mude para Alfredo (www.alfredapp.com) em vez do Spotlight, pois o Spotlight não parece escolher atalhos de pasta com links simbólicos. Thread semelhante apple.stackexchange.com/questions/23653/…
Arsal

Respostas:

5

Quando você baixa um arquivo do Internet OS X, ele é marcado como "em quarentena". Você pode ver isso com um comando Terminal, como:

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

Uma das coisas que você verá é que o atributo chamado "com.apple.quarantine" está definido para a pasta MacVim.app (e para todos os arquivos em sua árvore). Se você iniciar o aplicativo, receberá um aviso do OS X como "este aplicativo foi baixado da internet - você deseja continuar" e, quando você disser que sim, irá desqualificar os arquivos no aplicativo. Você pode fazer isso manualmente para todos os arquivos na árvore de pastas MacVim.app usando o comando Terminal:

xattr -dr com.apple.quarantine MacVim.app

Ou para apenas um arquivo com o comando:

xattr -d com.apple.quarantine somefile

Fiz o download do MacVim 7.3 e isso não funcionaria até que eu fiz o comando xattr -dr ..., mas assim que o fiz, ele começou a funcionar bem de onde estava instalado. Defina um arquivo para usar o MacVim para abri-lo e também funcionou (usando a caixa de diálogo "GetInfo").

A localização do aplicativo MacVim não é realmente importante. Por convenção, os aplicativos geralmente estão localizados na pasta / Aplicativos. Isso pode não ser verdade para alguns aplicativos, mas apenas por uma questão de uniformidade, provavelmente é uma boa idéia.

Às vezes, pode haver uma razão para isso não ser prático, como talvez você não tenha permissão de gravação na pasta / Applications.

Bob Freeman
fonte
Bob, obrigado por essa bela resposta! Minha solução de força bruta abaixo funcionou, mas eu nunca saberia sobre a quarentena da maçã.
Mojo
Infelizmente, isso não funcionou para mim.
Dan Loewenherz
10

Eu tive o mesmo problema. Mudei o MacVim.app para / Applications e, em seguida, vinculei o link para o diretório da adega do homebrew.

mv /usr/local/Cellar/macvim/7.3-65/MacVim.app / Aplicativos /  
ln -s /Applications/MacVim.app /usr/local/Cellar/macvim/7.3-65/
Shaun Jackman
fonte
De acordo com o comentário de Mojo, eu também tive que copiá-lo, em vez de vinculá-lo. O movimento / link simbólico o ativou no centro das atenções, mas não consegui mais iniciá-lo digitando "mvim" em um terminal. Copiá-lo para os dois locais corrigiu isso.
Opt27 27/08
5

Para aqueles com Yosemite e MacVim do homebrew que não aparecem no Spotlight, usar um alias funciona.

(Certifique-se de excluir qualquer MacVim que já esteja dentro /Applications.)

Do terminal:

  1. Desinstale os existentes: brew uninstall macvim
  2. Instale mais recente: brew install macvim
  3. Abra o diretório no Finder. Ex:open /usr/local/Cellar/macvim/7.3-64
  4. No Finder, clique com o botão direito do mouse no MacVim.appícone e selecione "Criar alias".
  5. Copie o alias que você acabou de criar para a /Applicationspasta.

O Spotlight indexará o alias do MacVim.

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

alanning
fonte
1
isso funcionou para mim, mas o Spotlight retorna o aplicativo apenas se a pesquisa diferencia maiúsculas de minúsculas. Nenhum resultado se eu procurar "MacVim", mas retorna app se busca é "MacVim"
user34215
Observe que você pode criar um alias com um nome diferente. No meu caso, criei um chamado "vim".
alanning
2

O que funcionou para mim é copiar toda a árvore MacVim.app de onde a homebrew a instalou (/ usr / local / Cellar / ...) para / Applications. Um link sym era insuficiente e eu não conseguia criar um "alias" que funcionasse.

Mojo
fonte
2

A instalação do MacVim usando o cask parece torná-lo disponível no Spotlight:

brew cask install macvim
Jon
fonte
0

Esta foi a minha configuração - usei o homebrew para instalar o MacVim no El Capitan e usei o linkapps para adicionar um link simbólico para /Applications/MacVIM.app. Infelizmente, isso não estava sendo captado pelo Spotlight. Consegui destacar o trabalho criando uma parte da árvore de diretórios no MacVIM.app. O Spotlight exige que os arquivos Info.plist e PkgInfo sejam arquivos sem vínculo simbólico em MacVim.app/Contents. Então, no final, fiz o seguinte:

    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

Foi isso. Nota: ao atualizar o seu MacVim usando o brew, você pode executar as etapas a seguir:

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