Czy mogę sprawić, by dowiązanie symboliczne (do folderu .app) w katalogu aplikacji wyświetlało się w centrum uwagi?

45

Użyłem naparu do zainstalowania MacVima i włożono go /usr/local/Cellar/macvim/7.3-61/MacVim.app

Chciałbym móc przejść do centrum uwagi i wpisać MacVim, aby uruchomić aplikację. Próbowałem utworzyć dowiązanie symboliczne w katalogu Aplikacje do /usr/local/Cellar/macvim/7.3-61/MacVim.app. Ale to nie wydaje się pojawiać w Spotlight. Ustawiam bity wykonywalne na dowiązaniu symbolicznym. otwórz MacVim.app z wiersza poleceń, działa. Jak sprawić, by MacVim pojawił się w wyszukiwaniu Spotlight?

m_sharp
źródło
2
Spotlight nie zagląda do ukrytych folderów i najwyraźniej nie działa również w przypadku aliasów. Czy używasz aplikacji Spotlight do uruchamiania aplikacji? Jeśli tak, muszę polecić alfredapp.com . Używam go i jest świetny. Szybciej niż w centrum uwagi!
kevin9794
Dzięki. Zainstalowałem Alfred i dodałem folder MacVim do zakresu wyszukiwania. Jestem w znacznie lepszej formie.
m_sharp
3
OK, rozgryzłem to. Jeśli utworzę alias do /usr/local/Cellar/macvim/7.3-61/MacVim.app, Spotlight go zindeksuje. Więcej informacji na temat aliasów, sprawdź switchingtomac.com/tutorials/creating-aliases-in-mac-os-x
m_sharp
3
Witamy, aby zapytać inaczej! Jeśli znalazłeś rozwiązanie, prześlij je jako odpowiedź, aby łatwiej było innym osobom z tym samym problemem zobaczyć, co pomogło. Więcej informacji znajdziesz w często zadawanych pytaniach. Dzięki.
Nathan Greenstein,
1
Aby wyjaśnić komentarz @ m_sharps, wydaje się, że Spotlight będzie indeksował aliasy, ale nie dowiązania symboliczne ( ln -s).
zourtney,

Odpowiedzi:

37

W Finderze naciśnij, CommandShiftGaby przejść do folderu . Wpisz /usr/local/Cellar/macvim/7.3-61/i naciśnij return. Wybierz plik (właściwie folder) MacVim.app Naciśnij CommandLna Utwórz skrót . W zależności od uprawnień może pojawić się monit o podanie hasła administratora.

Naciśnij, CommandNaby utworzyć nowe okno Findera . Naciśnij, CommandShiftAaby przejść do folderu Aplikacje w tym oknie.

Przeciągnij nowo utworzony alias z okna, w którym został utworzony, do okna zawierającego folder Aplikacje . Zmień nazwę aliasu, aby nie kończył się na „alias”.

Daniel
źródło
2
Śledziłem twoje kroki i MacVim pojawia się w centrum uwagi. Jednak gdy próbuję uruchomić MacVima z centrum uwagi, pojawia się komunikat o błędzie „Element MacVim jest używany przez OS X i nie można go otworzyć”.
m_sharp
Hmmm. Jak zwykle uruchamiasz MacVima, gdy nie używasz Spotlight? Czy pojawia się wtedy komunikat o błędzie?
Daniel
Być może reflektor nie może go uruchomić, ponieważ nie ma uprawnień dostępu do / usr / local / lub czegoś.
styfle 12.01.12
Dostałem to do pracy, najpierw zmieniając uprawnienia na / usr / local / Cellar za pomocą 'sudo chflags nohidden / usr / local / Cellar' (faktycznie zrobiłem to dla / usr / usr / local i / usr / local / Cellar). Następnie użyłem Findera, aby utworzyć alias dla MacVima (ten w piwnicy). Następnie przeniosłem alias do mojego folderu aplikacji. Spotlight znajduje teraz MacVima (spójrz na dół jego listy, dopóki go nie otworzysz).
Chris
Musiałem także wprowadzić dodatkowe zmiany uprawnień, domyślnie wygląda na to, że dowiązanie symboliczne zostało utworzone bez żadnych uprawnień do wykonywania, dodając te, dzięki którym dowiązanie symboliczne pojawiło się w centrum uwagi. Co dziwne, aliasy, które utworzyłem, a następnie przemianowałem na coś, co nie zawierały słowa „alias” na końcu, również nie zostały zauważone przez światło reflektorów. Usunięcie „aliasu” na końcu nazwy dowiązania symbolicznego naprawiło go
chrismarx
6

Metoda aliasowa nie działała dla mnie. Lepszą opcją jest użycie Automatora do utworzenia aplikacji, która uruchamia skrypt powłoki:wprowadź opis zdjęcia tutaj

Ponadto bezpośrednie połączenie z plikiem MacVim.app w katalogu Cellar, podobnie jak niektóre inne odpowiedzi sugerują, wiąże cię z określoną wersją. Jeśli brew zaktualizuje MacVima, twój link będzie nadal wskazywał na starą wersję. Raczej powinieneś użyć:

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

ponieważ ta lokalizacja jest automatycznie łączona przez brew z najnowszą wersją.

To działało dla mnie świetnie. Zapisuję plik Automator w iCloud, dzięki czemu mogę wygodnie dodawać aplikację na innych komputerach.

zim
źródło
To wydaje się najbardziej niezawodnym rozwiązaniem. Do czego służy $@?
Jacktose
1
$ @ Reprezentuje argumenty przekazane do skryptu. W takim przypadku wszelkie argumenty przekazane do skryptu są przekazywane do MacVim.app (tj. Nazwy plików, opcje itp.) Zobacz tę odpowiedź na temat specjalnych zmiennych powłoki.
zim
Ach, dzięki. Naprawdę trudno jest google $@. Czy to faktycznie coś zrobi w tym przypadku, ponieważ skrypt jest właśnie uruchamiany przez wybranie aplikacji?
Jacktose
1
Tak, jest to pomocne, na przykład, jeśli używasz Open withpolecenia w pliku w Finderze. Aplikacja zostanie uruchomiona ze ścieżką do pliku jako pierwszym argumentem. Lub jeśli ustawisz MacVim jako domyślną aplikację dla typu pliku, na przykład .txt - wtedy podwójne kliknięcie pliku .txt uruchomi MacVim z wybranym plikiem jako pierwszym argumentem.
zim
4

Sposób, w jaki to rozwiązałem, to użycie skryptu powłoki i appify.

Na przykład stwórz skrypt za pomocą edytora tekstu zawierającego

#!/bin/bash

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

Następnie pobierz appify - http://git.abackstrom.com/appify.git

Uruchom appify na skrypcie powłoki, a utworzy aplikację, którą możesz umieścić w / Applications, która wywoła MacVima. To pokaże się w centrum uwagi.

Dean Smith
źródło
1
Jeśli zamierzasz to zrobić w ten sposób, po prostu utwórz aplikację Automator, aby uruchomić skrypt.
ocodo
Tak @Slomojo, które okazało się najłatwiejszym podejściem. Stworzyłem skrypt powłoki, który uruchamia aplikację (w moim przypadku libreoffice) i umieściłem ją w / usr / bin. Następnie użyłem automatora do wywołania skryptu i zapisałem utworzoną aplikację Automator w folderze Aplikacje o nazwie, której chciałem użyć w Spotlight. Absurd.
atripes
3

Aby zachować ładność i możliwość tworzenia skryptów, możesz osascripturuchomić mały AppleScript i automatycznie utworzyć alias.

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
źródło
To faktycznie działało, w przeciwieństwie do wielu jedno-liniowych osascriptów, które znalazłem w różnych miejscach.
Xander Dunn
1
Polecam przeniesienie aplikacji MacVim do aplikacji. Lub instalując go przez beczułkę. Aliasy indeksują się w centrum uwagi, ale są denerwująco niskie.
ocodo
Dzięki. Zauważyłem, że trudno jest przekonać Spotlight do wyboru mojego aliasu MacVim.
Xander Dunn
2

Dla tych, którzy używają homebrew do instalowania macvim (całkowicie zalecane)

Uruchom po instalacji

brew linkapps macvim
DevByStarlight
źródło
1
Niestety nie pojawiają się one w centrum uwagi.
Jacktose
ale możesz utworzyć alias do łącza MacVim w katalogu / Applications, alias ten jest wybierany przez Spotlight.
Piotr Czapla,
Niestety „brew linkapps” już nie istnieje i nie zostało zastąpione.
Katarzyna
2
  1. Dowiązania symboliczne (ln-s) nie działały dla mnie dobrze, nie wyglądało na to, że Spotlight uzna to za aplikację.

  2. Utworzenie aliasu Findera (zgodnie z opisem Daniela) działało lepiej w przypadku uruchamiania z Findera, ale nie działało w przypadku korzystania z Findera Open With ... , alias pozostałby wyszarzony.

W szczególności, jak wspomniano w innych komentarzach tutaj, chciałem również, aby MacVim był dostępny podczas korzystania z Open With ... od Findera, ale z symbolicznym linkiem lub aliasem Findera MacVim pozostałby wyszarzony.

Dla mnie zadziałał prosty skrypt Automatora (jak opisał zim) z poleceniem „Run Shell Script”. Jedyne, co musiałem zrobić inaczej niż to, co pokazał Zim w swojej odpowiedzi, to dodanie parametru -a , aby otworzyć :

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

Bez -a, gdy użyje się go z „Otwórz za pomocą ...”, MacVim uruchomi się, ale także nazwa pliku parametru otworzy się przy dowolnej domyślnej aplikacji - więc dostanę oba MacVim z pustym dokumentem ORAZ TextEdit z plikiem I zdecydowałem się otworzyć (zamiast MacVim z otwartym moim wybranym plikiem).

Skrypt automatyzatora można skopiować lub aliasować do folderu Aplikacje. Zmieniłem również ikonę skryptu automatora na ikonę MacVim, kopiując i wklejając ikonę z wyskakujących okienek Finder Get Info.

Andrew Gilchrist
źródło
0

Po wypróbowaniu kilku sugerowanych rozwiązań najlepszą rzeczą, która działała dla mnie, było skopiowanie aplikacji z piwnicy Homebrew do katalogu aplikacji:

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

Spotlight znalazł to natychmiast.

użytkownik39587
źródło
0

Prosty akt instalacji homebrew pozwolił mi stworzyć dowiązanie symboliczne do Sublime Text. Być może potrzebujesz więcej.

Zainstaluj tutaj homebrew, jeśli masz system macOS

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

a następnie z wiersza poleceń (przy założeniu, że ST jest zainstalowany)

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

Michał Sefranek
źródło
-2

Wygląda na to, że możesz wykonać następujące czynności z terminalu.

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

Być może będziesz musiał użyć, sudoaby umieścić dowiązanie symboliczne w katalogu / Applications.

afragen
źródło
3
Spotlight traktuje dowiązania symboliczne do „plików systemowych” jako pliki systemowe, więc nie są one wyświetlane w normalnych wynikach. Aliasy są jednak.
Lri
Jakiś sposób programowo utworzyć alias OS X w Bash?
Mathias Bynens,
@MathiasBynens - zobacz moją odpowiedź, trochę AppleScript to zrobi.
ocodo