MacVim не найден Центром внимания


10

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

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

Но когда я пытаюсь назначить MacVim как приложение по умолчанию в Finder, приложение не слышно. Поиск Spotlight на MacVim обнаруживает только оригинальный файл .tgz.

Тем не менее я могу запустить его из командной строки (mvim) и прикрепить его к док-станции и запустить его оттуда.

Я предполагаю, что нужно создать нечто под названием «псевдоним», и у меня сложилось впечатление, что это нечто отличное от символической ссылки. Действительно, у меня есть символическая ссылка в моей папке ~ / Applications для MacVim, созданная там homebrew.

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


1
Попробуй brew link macvim. Ах, подождите ... У меня также была проблема, что каким-то образом моя ссылка не работала, хотя она была там. Вы можете сделать unlinkэто сначала и linkснова, и если это не сработает, переустановите его.
Феликс

1
хорошо, что, кажется, не имеет никакого эффекта ...
Mojo

Работают ли инструкции для MacVim как «обычного» приложения? Это устранит любой вопрос, что это может быть сам бинарный файл.
digitxp

У меня была та же проблема, и символическая ссылка не была выбрана Центром внимания. Она была решена путем переключения на 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.


Боб, спасибо за этот прекрасный ответ! Мое грубое решение, приведенное ниже, сработало, но я никогда не знал о яблочном карантине.
Моджо

К сожалению, это не сработало для меня.
Дэн Лёвенхерц

10

Я была такая же проблема. Я переместил MacVim.app в / Applications и затем поместил символическую ссылку в каталог домашнего винного погреба.

mv /usr/local/Cellar/macvim/7.3-65/MacVim.app / Applications /  
ln -s /Applications/MacVim.app /usr/local/Cellar/macvim/7.3-65/

Согласно комментарию Моджо, я также должен был скопировать это вместо символической ссылки. Перемещение / символическая ссылка включили его в центре внимания, но я больше не мог запускать его, набрав «mvim» в терминале. Копирование это в оба места исправило это.
оптево

5

Для тех, у кого Yosemite и MacVim из homebrew не отображаются в Spotlight, использование псевдонима работает.

(Обязательно удалите любой 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/issues/8970#issuecomment-4262695


1
это сработало для меня, но центр внимания возвращает приложение, только если поиск чувствителен к регистру. нет результата, если я ищу "macvim", но возвращает приложение, если поиск "MacVim"
user34215

Обратите внимание, что вы можете создать псевдоним с другим именем. В моем случае я сделал один под названием "Vim".
alanning

2

Для меня сработало копирование всего дерева MacVim.app, из которого его установил homebrew (/ usr / local / Cellar / ...), в / Applications. Сим-ссылка была недостаточной, и я не мог создать «псевдоним», который работал.


2

Установка MacVim с помощью cask делает его доступным в Spotlight:

brew cask install macvim

0

Это было моей установкой - использовал homebrew для установки MacVim на El Capitan и использовал linkapps для добавления символической ссылки в /Applications/MacVIM.app. К сожалению, это не было обнаружено Spotlight. Я смог привлечь внимание к работе, создав часть дерева каталогов в MacVIM.app. В Spotlight требуется, чтобы файлы 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 с помощью brew, возможно, вам придется выполнить следующие действия:

    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.