Bạn có thể chỉnh sửa ~/Library/Preferences/com.apple.LaunchServices.plist
trong trình soạn thảo văn bản sau khi chuyển đổi nó sang XML:
plutil -convert xml1 ~/Library/Preferences/com.apple.LaunchServices.plist
Sau đó thêm các mục như thế này vào LSHandlers
mảng:
<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>
Bạn có thể sử dụng mdls
để xem UTI của các loại tệp và một cái gì đó giống như osascript -e 'id of app "AppName"'
để xem các định danh gói ứng dụng.
Bạn có thể áp dụng các thay đổi com.apple.LaunchServices.plist
bằng cách khởi động lại. Đăng xuất và đăng nhập trở lại là không đủ.
LƯU Ý : duti
không còn trong quá trình phát triển tích cực và đã được các nhà bảo trì của nó gắn nhãn là "không được hỗ trợ". Dự án đã không thấy bất kỳ tiến bộ lớn nào kể từ năm 2012 ngoài các cập nhật cấu hình. Nó đã chuyển từ Sourceforge sang Github. Câu trả lời này đã được cập nhật để bao gồm các liên kết mới.
Tôi cũng sử dụng duti mặc dù. Tôi đã lưu một tệp như thế này (với khoảng 100 dòng) là ~/.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
Tôi có một tác nhân launchd chạy duti ~/.duti
tự động khi ~/.duti
được thay đổi.
Thông thường bạn có thể sử dụng các phần mở rộng tên tệp (như .jpg
) thay vì UTI (như public.jpg
) để chỉ định loại tệp. duti
chuyển đổi các phần mở rộng thành UTI cũng áp dụng cho các phần mở rộng khác (như .jpeg
). Đối với một số tiện ích mở rộng như .mkv
và .tex
, UTI phụ thuộc vào ứng dụng nào đã đăng ký tiện ích mở rộng trước.
Các phiên bản mới nhất của duti
chỉ bao gồm mã nguồn, nhưng 1.5.0 cũng bao gồm một trình cài đặt.
brew install duti
để cài đặtduti