MacVim не знайдено Spotlight


10

Я Mac Noob, але загалом користувач Linux. Моя нова робота подарувала мені свіжий MacBook Pro із встановленим Lion.

Я встановив MacVim успішно за допомогою homebrew. Я хотів би, щоб це програма за замовчуванням для відкриття певних типів файлів. (.rb, .haml)

Але коли я намагаюся призначити MacVim додатком за замовчуванням у Finder, програма не чута. Пошук у центрі уваги на MacVim виявляє лише оригінальний файл .tgz.

Але я можу запустити його з командного рядка (mvim) та зафіксувати його на доці та запустити звідти.

Я здогадуюсь, що потрібно створити щось, що називається "псевдонім", і я створюю враження, що це щось інше, ніж символічне посилання. Дійсно, у моїй папці ~ / Applications для MacVim є символічне посилання, створене там на дому.

Як я можу якось благословити MacVim на встановлений додаток і призначити його для відкриття певних розширень файлів?


1
Спробуйте brew link macvim. Ну зачекайте ... У мене також була проблема, що якось моє посилання не працювало, хоча воно там було. Ви можете unlinkце спершу і linkзнову, і якщо це не працює, встановіть його знову.
Фелікс

1
добре, що, здається, не мало ефекту ...
Mojo

Чи працюють інструкції для MacVim як "звичайного" додатка? Це усуне будь-яке питання про те, що це може бути саме бінарне.
digitxp

У мене був той самий випуск, і Spotlight не вибирав symlink. Це було вирішено шляхом переходу на Alfredo (www.alfredapp.com) замість Spotlight, оскільки Spotlight, схоже, не вибирає ярлики папок символьної посилання. Подібний потік apple.stackexchange.com/questions/23653 / ...
ARSAL

Відповіді:


5

При завантаженні файлу з Інтернету OS X позначає його як "під карантином". Ви можете бачити це за допомогою команди Terminal, наприклад:

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

Одне з речей, що атрибут під назвою "com.apple.quarantine" встановлений для папки MacVim.app (і для всіх файлів у його дереві). Якщо ви запустите програму, ви отримаєте попередження від OS X на кшталт "цей додаток було завантажено з Інтернету - чи хочете ви продовжувати", і коли ви скажете "так", це скасує карантин для файлів у додатку. Ви можете зробити це вручну для всіх файлів у дереві папок MacVim.app, використовуючи команду Terminal:

xattr -dr com.apple.quarantine MacVim.app

Або лише для одного файлу з командою:

xattr -d com.apple.quarantine somefile

Я завантажив MacVim 7.3, і це не спрацювало, поки я не виконав команду xattr -dr ..., але як тільки я це зробив, він почав працювати нормально з того місця, де він був встановлений. Встановіть файл, щоб використовувати MacVim для його відкриття, і він також працював (використовуючи діалогове вікно "GetInfo").

Розташування програми MacVim насправді не важливо. Просто за умовою програми зазвичай розташовуються в папці / Applications. Це може бути не правдою для деяких додатків, але просто для рівномірності це, мабуть, хороша ідея.

Іноді може бути причина, чому це не практично, наприклад, у вас немає дозволу на запис у папку / Applications.


Боб, дякую за прекрасну відповідь! Моє рішення про грубі сили нижче спрацювало, але я ніколи не знав про яблучний карантин.
Mojo

На жаль, це для мене не вийшло.
Dan Loewenherz

10

У мене було те саме питання. Я перемістив MacVim.app в / Додатки, а потім посилався на каталог підвалу домашнього мовлення.

mv /usr/local/Cellar/macvim/7.3-65/MacVim.app / Програми /  
ln -s /Applications/MacVim.app /usr/local/Cellar/macvim/7.3-65/

Відповідно до коментаря Mojo, я також повинен був скопіювати його, а не символізувати його. Переміщення / symlink ввімкнуло його в центрі уваги, але я більше не міг його запустити, набравши "mvim" у терміналі. Скопіювавши це в обидва місця, це виправлено.
optevo

5

Для тих, у кого Yosemite і MacVim з домашнього мовлення не з’являються в центрі уваги, використовують псевдоніми.

(Обов’язково видаліть будь-який MacVim, який уже є /Applications.)

З терміналу:

  1. Видаліть наявні: brew uninstall macvim
  2. Встановити останні: brew install macvim
  3. Відкрийте каталог у Finder. Наприклад:open /usr/local/Cellar/macvim/7.3-64
  4. У Finder клацніть правою кнопкою миші на MacVim.appзначку та виберіть "Зробити псевдонім".
  5. Скопіюйте щойно створений псевдонім у /Applicationsпапку.

Прожектор буде індексувати псевдонім MacVim.

Джерело: https://github.com/Homebrew/homebrew/isissue/8970#issuecomment-4262695


1
це працювало для мене, але прожектор повертає додаток лише в тому випадку, якщо пошук враховує регістри. немає результату, якщо я шукаю "macvim", але повертає додаток, якщо пошук "MacVim"
user34215

Зауважте, що ви можете створити псевдонім з іншим іменем. У моєму випадку я зробив один під назвою "vim".
алан

2

Що для мене працювало - це скопіювати все дерево MacVim.app з того місця, де його встановив довідник (/ usr / local / Cellar / ...) у / Додатки. Системний зв’язок був недостатнім, і я не міг зробити "псевдонім", який спрацював.


2

Встановлення MacVim за допомогою cask, здається, робить його доступним у центрі уваги:

brew cask install macvim

0

Це було моїм налаштуванням - домашня мова використовувала для встановлення MacVim на El Capitan і використовувала linkkapps, щоб додати симпосилання до /Applications/MacVIM.app. На жаль, це не було підхоплено Spotlight. Мені вдалося задіяти прожектор, створивши частину дерева каталогів під MacVIM.app. Прожектор прожектора вимагає, щоб файли Info.plist та PkgInfo були несимвольними файлами під MacVim.app/Contents. Отже, врешті-решт, я зробив наступне:

    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

Це було все. Примітка. Коли ви оновлюєте MacVim за допомогою варіння, можливо, виконайте такі дії:

    cd /Application/MacVim.app/Contents
    cp Info.plist.link Info.plist
    cp PkgInfo.link PkgInfo
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.