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?


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”.


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.


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.


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

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

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.


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.


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


-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.


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
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.