Możesz edytować ~/Library/Preferences/com.apple.LaunchServices.plistw edytorze tekstu po przekonwertowaniu go na XML:
plutil -convert xml1 ~/Library/Preferences/com.apple.LaunchServices.plist
Następnie dodaj do LSHandlerstablicy następujące wpisy :
<dict>
<key>LSHandlerContentType</key>
<string>com.adobe.pdf</string>
<key>LSHandlerRoleAll</key>
<string>net.sourceforge.skim-app.skim</string>
</dict>
<dict>
<key>LSHandlerContentTag</key>
<string>mkv</string>
<key>LSHandlerContentTagClass</key>
<string>public.filename-extension</string>
<key>LSHandlerRoleAll</key>
<string>org.videolan.vlc</string>
</dict>
Możesz użyć, mdlsaby zobaczyć identyfikatory UTI typów plików i coś podobnego, osascript -e 'id of app "AppName"'aby zobaczyć identyfikatory pakietów aplikacji.
Możesz zastosować zmiany com.apple.LaunchServices.plist, uruchamiając ponownie. Wylogowanie i ponowne zalogowanie to za mało.
UWAGA : dutinie jest już w fazie rozwoju i został oznaczony przez swoich opiekunów jako „nieobsługiwany”. W projekcie nie odnotowano znaczących postępów od 2012 r. Oprócz aktualizacji konfiguracji. Przenosi się z Sourceforge do Github. Ta odpowiedź została zaktualizowana o nowe linki.
Używam również duti . Zapisałem taki plik (z około 100 liniami) jako ~/.duti:
org.gnu.Emacs public.plain-text all # .txt, .text, plain text files without an extension
org.gnu.Emacs public.unix-executable all # executable scripts
com.SequentialX.Sequential .jpg all
org.videolan.vlc .mkv all
Mam uruchomionego agenta, który działa duti ~/.dutiautomatycznie po ~/.dutizmianie.
Zwykle możesz używać rozszerzeń plików (jak .jpg) zamiast identyfikatorów UTI (jak public.jpg), aby określić typy plików. dutikonwertuje rozszerzenia na UTI, które dotyczą również innych rozszerzeń (takich jak .jpeg). W przypadku niektórych rozszerzeń, takich jak .mkvi .tex, interfejs użytkownika zależy od tego, która aplikacja najpierw zarejestrowała rozszerzenie.
Najnowsza wersja z dutitylko zawiera kod źródłowy, ale 1.5.0 zawiera również instalatora.
brew install dutido instalacjiduti