Anda dapat mengedit ~/Library/Preferences/com.apple.LaunchServices.plistdalam editor teks setelah mengubahnya menjadi XML:
plutil -convert xml1 ~/Library/Preferences/com.apple.LaunchServices.plist
Kemudian tambahkan entri seperti ini ke LSHandlersarray:
<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>
Anda dapat menggunakan mdlsuntuk melihat UTI dari jenis file dan sesuatu seperti osascript -e 'id of app "AppName"'untuk melihat bundel pengidentifikasi aplikasi.
Anda dapat menerapkan perubahan com.apple.LaunchServices.plistdengan memulai ulang. Keluar dan kembali tidak cukup.
CATATAN : dutitidak lagi dalam pengembangan aktif dan telah diberi label oleh pengelolanya sebagai "tidak didukung". Proyek ini belum melihat kemajuan besar sejak 2012 selain dari pembaruan konfigurasi. Itu telah pindah dari Sourceforge ke Github. Jawaban ini telah diperbarui untuk menyertakan tautan baru.
Saya juga menggunakan duti . Saya telah menyimpan file seperti ini (dengan sekitar 100 baris) sebagai ~/.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
Saya memiliki agen launchd yang berjalan duti ~/.dutisecara otomatis ketika ~/.dutidiubah.
Anda biasanya dapat menggunakan ekstensi nama file (seperti .jpg) daripada UTI (suka public.jpg) untuk menentukan jenis file. dutimengonversi ekstensi menjadi ISK yang juga berlaku untuk ekstensi lain (seperti .jpeg). Untuk beberapa ekstensi seperti .mkvdan .tex, UTI tergantung pada aplikasi apa yang mendaftarkan ekstensi terlebih dahulu.
The Versi terbaru dari dutihanya mencakup kode sumber, tetapi 1.5.0 juga mencakup installer.
brew install dutiuntuk menginstalduti