Posso fazer com que um link simbólico (para uma pasta .app) no diretório Aplicativos apareça em destaque?

45

Eu usei o brew para instalar o MacVim e colocá-lo no /usr/local/Cellar/macvim/7.3-61/MacVim.app

Eu gostaria de poder destacar e digitar MacVim para iniciar o aplicativo. Tentei criar um link simbólico no diretório de aplicativos para /usr/local/Cellar/macvim/7.3-61/MacVim.app. Mas isso não parece aparecer no Spotlight. Defino os bits executáveis ​​no link simbólico. abrir MacVim.app a partir da linha de comando funciona. Como faço para que o MacVim apareça na pesquisa Spotlight?

m_sharp
fonte
2
O Spotlight não procura dentro de pastas ocultas e, aparentemente, também não funciona com aliases. Você usa os holofotes para iniciar aplicativos? Se assim for, devo recomendar alfredapp.com . Eu uso e é ótimo. Mais rápido que o centro das atenções!
precisa saber é o seguinte
Obrigado. Eu instalei o alfred e adicionei a pasta MacVim ao escopo da pesquisa. Estou em muito melhor forma.
m_sharp
3
OK, eu descobri. Se eu criar um alias para /usr/local/Cellar/macvim/7.3-61/MacVim.app, o Spotlight o indexará. Para mais informações sobre aliases, consulte a switchingtomac.com/tutorials/creating-aliases-in-mac-os-x
m_sharp
3
Bem-vindo ao perguntar diferente! Se você encontrou uma solução, publique-a como resposta, para que seja mais fácil para outras pessoas com o mesmo problema ver o que ajudou. Consulte as Perguntas frequentes para obter mais informações. Obrigado.
19611 Nathan Greenstein
1
Para esclarecer o comentário de @ m_sharps, parece que o Spotlight indexará aliases, mas não links simbólicos ( ln -s).
precisa saber é o seguinte

Respostas:

37

No Finder, pressione CommandShiftGpara Ir para a pasta . Digite /usr/local/Cellar/macvim/7.3-61/e pressione return. Selecione o arquivo (na verdade, uma pasta) MacVim.app Pressione CommandLpara Criar alias . Dependendo das permissões, você pode ser solicitado a fornecer uma senha de administrador aqui.

Pressione CommandNpara criar uma nova janela do Finder . Pressione CommandShiftApara ir para a pasta Aplicativos nessa janela.

Arraste o alias recém-criado da janela em que foi criado para a janela que contém a pasta Aplicativos . Renomeie o alias para que não termine mais em "alias".

Daniel
fonte
2
Segui seus passos e o MacVim aparece em destaque. No entanto, ao tentar iniciar o MacVim a partir dos holofotes, recebo a mensagem de erro "O item MacVim é usado pelo OS X e não pode ser aberto".
m_sharp
Hummm. Como você normalmente inicia o MacVim quando não está usando o Spotlight? Você recebe uma mensagem de erro então?
Daniel
Talvez o Spotlight não possa iniciá-lo porque não possui permissões para acessar / usr / local / ou algo assim.
Styfle
Eu consegui que isso funcionasse alterando primeiro as permissões em / usr / local / Cellar com 'sudo chflags nohidden / usr / local / Cellar' (na verdade, fiz isso para / usr / usr / local e / usr / local / Cellar). Então eu usei o Finder para criar um apelido para o MacVim (o da Cellar). Então mudei o alias para minha pasta Aplicativos. O Spotlight agora encontra o MacVim (veja o final da lista até abri-lo uma vez).
18714 Chris
Eu também precisava fazer alterações adicionais nas permissões, por padrão, parece que o link simbólico foi criado sem nenhuma permissão de execução, adicionando aqueles que fizeram o link simbólico aparecer no centro das atenções. Curiosamente, os alias que eu criei e renomei para algo que não incluísse a palavra "alias" no final também não foram identificados pelos holofotes. Colocar de volta "Alias" no final do nome do link simbólico fixo ele-
chrismarx
6

O método de alias não funcionou para mim. Uma opção melhor é usar o Automator para criar um aplicativo que executa um script de shell:insira a descrição da imagem aqui

Além disso, vincular diretamente ao MacVim.app no ​​diretório Cellar, como algumas das outras respostas, sugere que você o vincule a uma versão específica. Se o brew atualizar o MacVim, seu link ainda apontará para a versão antiga. Em vez disso, você deve usar:

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

como esse local é automaticamente vinculado por distribuição à versão mais recente.

Isso funcionou muito bem para mim. Salvei o arquivo do Automator no iCloud para poder adicionar o aplicativo em outras máquinas.

zim
fonte
Esta parece ser a solução mais robusta. Para que serve $@?
Jacktose 13/09/16
1
O $ @ representa os argumentos passados ​​para o script. Nesse caso, todos os argumentos passados ​​para o script estão sendo encaminhados para o MacVim.app (por exemplo, nomes de arquivos, opções etc.) Veja esta resposta sobre variáveis ​​especiais do shell.
Zim
Ah obrigada. É realmente difícil de pesquisar no Google $@. Isso realmente fará alguma coisa nesse caso, já que o script está sendo executado apenas selecionando o aplicativo?
Jacktose 13/09/16
1
Sim, é útil, por exemplo, se você usar o Open withcomando em um arquivo no Finder. O aplicativo será iniciado com o caminho do arquivo como o primeiro argumento. Ou se você definir o MacVim como o aplicativo padrão para um tipo de arquivo, .txt por exemplo - clique duas vezes em um arquivo .txt para iniciar o MacVim com o arquivo selecionado como o primeiro argumento.
zim
4

A maneira que eu resolvi isso é usando um script de shell e appify.

Por exemplo, crie um script com um editor de texto que contenha

#!/bin/bash

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

Em seguida, obtenha o appify - http://git.abackstrom.com/appify.git

Execute appify no shell script e ele criará um aplicativo que você pode colocar em / Applications que invocará o MacVim. Isso aparecerá no centro das atenções.

Dean Smith
fonte
1
Se você fizer dessa maneira, basta criar um aplicativo Automator para executar o script.
ocodo 25/10
Sim @Slomojo, essa provou ser a abordagem mais fácil. Criei um shellscript que inicia o aplicativo (no meu caso, libreoffice) e o coloca em / usr / bin. Em seguida, usei o automator para invocar o script e salvei o aplicativo criado pelo Automator na minha pasta Aplicativos com o nome que eu queria usar no Spotlight. Absurdo.
Atripes
3

Para manter as coisas agradáveis ​​e com scripts, você pode usar osascriptpara executar um pouco de AppleScript e criar seu alias automaticamente.

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
fonte
Isso realmente funcionou, ao contrário de muitos linux de JavaScript que encontrei em vários lugares.
Xander Dunn
1
Eu recomendaria realmente mover o aplicativo MacVim para aplicativos. Ou instalá-lo via barril de fermentação. Os aliases são indexados em destaque, mas são irritantemente baixos.
ocodo 14/12/14
Obrigado. Percebi que é difícil fazer com que o Spotlight escolha meu alias do MacVim.
Xander Dunn
2

Para quem usa o homebrew para instalar o macvim (totalmente recomendado)

Execute o seguinte após a instalação

brew linkapps macvim
DevByStarlight
fonte
1
Infelizmente, eles não aparecem no Spotlight.
Jacktose 13/09/16
mas você pode criar um alias para o link MacVim no diretório / Applications, o alias é escolhido pelo Spotlight.
Piotr Czapla
Infelizmente, o 'linkapps brew' não existe mais e não é substituído.
Katarzyna
2
  1. Os links simbólicos (ln -s) não funcionaram bem para mim, não parecia que o Spotlight veria isso como um aplicativo.

  2. Criar um alias do localizador (como descrito por Daniel) funcionou melhor em relação à inicialização a partir do Finder, mas não ao usar o Finder Open With ... , o alias permaneceria acinzentado.

Em particular, como mencionado em outros comentários aqui, eu também queria que o MacVim estivesse disponível ao usar o Open With ... do Finder, mas com o link simbólico ou o alias do Finder, o MacVim permaneceria acinzentado.

O que funcionou para mim foi o script simples do Automator (como o zim descreveu), com o comando "Executar script do shell". A única coisa que eu tive que fazer de maneira diferente do que o zim mostrou em sua resposta é adicionar o parâmetro -a para abrir :

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

Sem o -a, quando usado com "Open With ...", o MacVim seria iniciado, mas também o nome do arquivo do parâmetro seria aberto com qualquer que fosse seu aplicativo padrão - para que eu recebesse o MacVim com o documento vazio AND TextEdit com o arquivo I selecionou para abrir (em vez de MacVim com o meu arquivo selecionado aberto).

O script do automator pode ser copiado ou alternativo para a pasta Aplicativos. Também mudei o ícone do script do meu automator para o ícone do MacVim, copiando e colando o ícone nos pop-up Obter informações do Finder.

Andrew Gilchrist
fonte
0

Depois de tentar várias das soluções sugeridas, a melhor coisa que funcionou para mim foi copiar o aplicativo do Homebrew Cellar para o diretório de aplicativos:

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

O Spotlight encontrou instantaneamente.

user39587
fonte
0

O simples ato de instalar o homebrew me permitiu criar um link simbólico para o Sublime Text. Talvez você esteja precisando de mais.

Instale o homebrew aqui se você tiver o macOS

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

e depois da linha de comando (assumindo que o ST esteja instalado)

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

Michael Sefranek
fonte
-2

Parece que você pode fazer o seguinte no Terminal.

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

Pode ser necessário usar sudoo link simbólico no diretório / Applications.

afragen
fonte
3
O Spotlight trata os links simbólicos para "arquivos do sistema" como arquivos do sistema, para que não sejam listados nos resultados normais. Aliases são embora.
Lri
Alguma maneira de criar um alias do OS X programaticamente no Bash?
Mathias Bynens
@MathiasBynens - veja minha resposta, um pouco de AppleScript fará isso.
ocodo 25/10