Thay thế Chỉnh sửa văn bản làm trình soạn thảo văn bản mặc định


91

Tôi đã thấy những câu hỏi như thế này không giải quyết được vấn đề của tôi.

Tôi muốn biến Sublime Text 3 thành trình xem / chỉnh sửa tệp mặc định cho tất cả các tệp hiện đang sử dụng textedit.

Hầu hết các tệp này có thể là command+ i'd, nhưng những tệp không có phần mở rộng thì không thể. Họ cung cấp cho tất cả các loại lỗi quyền như những lỗi trong hình ảnh nàykhông đủ thông tin có sẵn

Có cách nào để không bao giờ sử dụng textedit và thay vào đó đặt sublime làm trình chỉnh sửa mặc định cho tất cả các tệp không?


2
Tôi tự hỏi liệu tiêu đề của câu hỏi này có phải là một cái gì đó như "Thay thế văn bản chỉnh sửa làm trình soạn thảo văn bản mặc định" để nó hiển thị trong các tìm kiếm không tham chiếu văn bản cao siêu.
lùn

1
@dwightk điểm tốt, cập nhật ngay bây giờ
wrossmck

Nó sẽ hoạt động tốt hơn nếu bạn cung cấp cho tệp một phần mở rộng hoặc mở rộng phần mở rộng trong GetInfo ..?
Zo219

@ Zo219 không, một số tệp đơn giản là không có / cần tiện ích mở rộng và câu hỏi này nhằm mục đích thiết lập trình chỉnh sửa mặc định, không sử dụng một số cách giải quyết phụ tối ưu để đạt được kết quả tương tự.
wrossmck

Câu trả lời:


49

Đặt Sublime Text làm trình xử lý mặc định cho public.plain-text

defaults write com.apple.LaunchServices LSHandlers -array-add \
'{LSHandlerContentType=public.plain-text;LSHandlerRoleAll=com.sublimetext.3;}'

Câu trả lời này là dành cho Mavericks và trước đó.

Đối với Yosemite trở lên, hãy sử dụng com.apple.LaunchService / com.apple.launchservice.secure .

defaults write com.apple.LaunchServices/com.apple.launchservices.secure LSHandlers -array-add \
'{LSHandlerContentType=public.plain-text;LSHandlerRoleAll=com.sublimetext.3;}'

Nhớ khởi động lại để nhận các thay đổi.


2
@Ross Có (hoặc đăng xuất và đăng nhập lại nếu không phải người dùng root).
grg

1
Hmm, vì vậy dường như không làm việc cho tôi. (sau khi khởi động lại đầy đủ.) Và tôi đã xác minh rằng mục nhập nằm đúng vị trí trong launchService.plist
wrossmck

1
Thật thú vị, nó thực sự hoạt động nếu tôi làm open file2trong thiết bị đầu cuối hoặc thậm chí bằng cách nhấp đúp. Tôi nghĩ rằng nó không hoạt động bởi vì nếu tôi nhận được thông tin về nó, nó cho thấy rằng nó mở bằng TextEdit.
wrossmck

1
@Justin Có vẻ như sau khi khởi động lại đầy đủ khác file->infobây giờ hiển thị rằng Sublime là ứng dụng mặc định. Tôi gần như chắc chắn rằng tôi không làm gì khác để thay đổi kết quả.
wrossmck

1
Trên OS X Yosemite tôi cần chỉnh sửa ~ / Library / Preferences / com.apple.LaunchService / com.apple.launchservice.secure.plist Trong khi đó, lệnh trên đã tạo một tệp ~ / Library / Preferences / com.apple.LaunchService.plist không có tác dụng.
DonnaLea

43

Một tùy chọn khác là sử dụng duti ( http://duti.org / https://github.com/moretension/duti ).

Chạy brew install duti, lưu một kiểu tệp như thế này như:

duti -s com.sublimetext.3 public.plain-text all

Các thay đổi sẽ được áp dụng ngay lập tức, do đó bạn không phải khởi động lại như khi chỉnh sửa com.apple.LaunchServices.plist.

Để thay đổi ứng dụng mặc định cho các tập lệnh thực thi không có phần mở rộng tên tệp, hãy thêm một dòng như thế này:

duti -s com.sublimetext.3 public.unix-executable all


1
Khi chạy duti với tập tin tôi gặp lỗi line 1: line too long. Tôi đã có thể làm việc xung quanh nó bằng cách không sử dụng tệp cài đặt và gọi duti -s com.sublimetext.3 public.plain-text alltừ đường dây cmd
KyleMit

Điều này làm việc cho tôi. Sử dụng defaultskhông hoạt động.
nathancahill

1
@KyleMit bạn cần một dòng trống ở cuối tệp để tránh lỗi dòng quá dài.
Terry

1
cũng làm việc với org.vim.MacVim!
ruohola

2
duti.org không còn tồn tại.
sorin

38

Tôi đã thử giải pháp của grgarside trong quá khứ và tôi tin rằng nó đã hoạt động. Tuy nhiên, trên Yosemite và El Capitan, tôi gặp vấn đề.

Nhận xét của DonnaLea trong giải pháp đó đã đeo bám tôi trong việc tạo ra một giải pháp. Tôi đã thêm đường dẫn thư mục trước khi com.apple.launchservicestập tin có một tên hơi khác com.apple.launchservices.secure.

Bạn có thể thấy tập tin / thư mục đang được sửa đổi trong đường dẫn sau:

/user/Library/Preferences/com.apple.LaunchServices/com.apple.launchservices.secure.plist

Ảnh chụp màn hình để tham khảo: nhập mô tả hình ảnh ở đây

Đây là lệnh tôi đã sử dụng trong terminal:

defaults write com.apple.LaunchServices/com.apple.launchservices.secure LSHandlers -array-add \
'{LSHandlerContentType=public.plain-text;LSHandlerRoleAll=com.sublimetext.3;}'

Cuối cùng, sau khi khởi động lại vào máy của tôi, nó hoạt động như quảng cáo.


5
Cảm ơn đã chỉ ra rằng câu trả lời của tôi đã lỗi thời. Tôi đã chỉ ra phiên bản nào của OS X mà câu trả lời của tôi hoạt động và cung cấp một liên kết đến câu trả lời này.
grg

1
Cảm ơn! Có thể xác nhận điều này để làm việc trên El Capitan. Không còn chỉnh sửa văn bản khi mở Podfile :)
Lord Zsolt

Tôi đã cài đặt văn bản siêu phàm 3 nhưng không có tệp ưu tiên com.sublimetext.3: tôi có cần tạo không?
ling

21
  1. Nhấp chuột phải vào tệp .txt trong Finder.
  2. Chọn "Nhận thông tin".
  3. Mở rộng "Mở bằng:" và chọn trình soạn thảo văn bản ưa thích của bạn trong trình đơn thả xuống.
  4. Nhấn nút "Thay đổi tất cả ..." bên dưới trình đơn thả xuống và sau đó xác nhận trong hộp thoại bật lên với "Tiếp tục".

Điều này hoạt động trên Yosemite (OS X 10.10).


9
Điều này không trả lời câu hỏi. Câu hỏi là làm thế nào để làm điều này cho tất cả các tệp, ngay cả những tệp không có phần mở rộng tệp.
wrossmck 6/03/2015

Ngay cả khi câu trả lời hơi lạc đề, nó vẫn giúp tôi tìm kiếm từ Google. +1
Teddy

wrossmck Bạn về cơ bản là đúng - câu trả lời của tôi thậm chí lặp lại câu hỏi và trả lời được đề cập trong dòng đầu tiên của câu hỏi này. Nhưng tôi đã không nhận thấy điều này cho đến khi tôi tự mình trả lời câu trả lời của mình từ những câu trả lời khác trên trang này và đăng câu trả lời này. Có thể vấn đề là các tìm kiếm cho câu trả lời đơn giản (ví dụ: tệp .txt) dẫn đến trang này chứ không phải các trang khác (như @Teddy và tôi đã tìm thấy).
David Resnick

@wrossmck Điều này làm việc cho tôi ở High Sierra. Khi tôi đã thực hiện việc này trên tệp .txt, hãy gõ một cái gì đó như open -t script.sqlvẫn mở nó trong trình soạn thảo văn bản ưa thích mà tôi đã đặt bằng các hướng này, mặc dù tiện ích mở rộng không phải là .txt
Đánh dấu

14

Các giải pháp được đề xuất ở đây hoạt động hoàn hảo cho Sublime, nhưng tôi muốn làm điều này cho Visual Studio Code. Sự khác biệt duy nhất là bạn phải tìm "định danh gói ứng dụng" cho bất kỳ trình soạn thảo văn bản nào bạn sử dụng. Tôi đã chạy lệnh này:

/usr/libexec/PlistBuddy -c 'Print CFBundleIdentifier' /Applications/Visual\ Studio\ Code.app/Contents/Info.plist 

liên kết để tham khảo

để lấy mã định danh "com.microsoft.VSCode". Sau đó, tôi đã cài đặt "duti" và chạy lệnh này:

duti -s com.microsoft.VSCode public.plain-text all

Điều này sẽ làm việc cho bất kỳ trình soạn thảo văn bản nào bạn muốn được cài đặt trong / Ứng dụng. Tôi hy vọng điều này sẽ giúp người dùng không cao siêu.


1
Cảm ơn! Phương thức này cũng hoạt động với Atom ( com.github.atom).
RobW

1
Cũng hoạt động cho MacVim ( org.vim.MacVim)!
ruohola

Chính xác những gì tôi đang tìm kiếm. Trong trường hợp bạn đang đọc cái này và bỏ lỡ các hướng dẫn để cài đặt dutiở trên, thì đây là apple.stackexchange.com/a/123954/251846 .
Flow2k

Để có được duti, bạn có thể cài đặt homebrew và sau đó chạy brew install duti.
Cameron Hudson

5

Tôi tập trung tất cả quản lý ứng dụng mặc định của mình với Magic Launch . Bạn có thể định cấu hình nó để mở tất cả txtvới Sublime Text làm mặc định mà không cần dòng lệnh (bên cạnh, bạn có thể thay đổi dễ dàng từ đó System Preferences).

Tùy chọn khởi động ma thuật

Một tính năng hữu ích đặc biệt khác của Magic Launch là bạn có thể đặt quy tắc dựa trên tên tệp, vị trí thư mục mà tôi sử dụng chuyên sâu để chọn các ứng dụng khác nhau để phát triển và viết.


1

RCDefaultApp vẫn hoạt động trên macOS Sierra. Bạn có thể dễ dàng chọn chương trình nào là mặc định cho văn bản thuần túy (BBEedit trong trường hợp của tôi).

Ảnh chụp màn hình của RCDefaultApp


Điều này có làm việc cho các tập tin không có phần mở rộng?
wrossmck

Chắc chắn rồi. Trên tab tôi đang hiển thị về cơ bản bạn thấy một giao diện đồ họa cho câu trả lời dòng lệnh. Nếu bạn quan tâm đến việc chỉ cài đặt dựa trên tiện ích mở rộng (tại sao tôi biết bạn không phải), bạn sẽ phải chuyển đến tab "Erweiterungen" = Tiện ích mở rộng.
traindriver

-2

Giải pháp này được trích xuất từ ​​video YouTube, nhưng nó hoạt động hoàn hảo cho tình huống của tôi (Tôi chỉ sử dụng Sublime để chỉnh sửa các tệp bằng các ngôn ngữ như Python, Java và Ruby).

Đối với bất kỳ tệp cụ thể nào, nhấp chuột phải, chọn "Thông tin thêm" và nhấp vào tab "Mở bằng". Bạn có thể chọn trình soạn thảo văn bản nào bạn muốn ở đây và sử dụng "Thay đổi tất cả" để sử dụng trình chỉnh sửa cho tất cả các tệp thuộc loại này. Rõ ràng, điều này không hoạt động đối với các tệp không có phần mở rộng, nhưng nó là một sửa chữa nhanh chóng dễ dàng đối với tôi.


Điều này không hữu ích vì bạn sẽ cần thực hiện việc này trên cơ sở tiện ích mở rộng. Câu hỏi đang tìm kiếm một giải pháp một lần cho tất cả
wrossmck

-3

Nhấp chuột phải vào tệp -> Khác -> Chọn trình soạn thảo văn bản yêu thích của bạn (Tôi chọn văn bản Sublime trong thư mục Ứng dụng của mình) -> Chọn hộp kiểm 'Luôn mở bằng' -> Mở.

Cài đặt này sẽ được tự động áp dụng cho tất cả các tệp khác trong máy.

Không cần khởi động lại hoặc không cần bất kỳ phần mềm bên thứ 3 nào.


2
Điều đó không hoạt động khi không có phần mở rộng tập tin.
grg

@grgarside - Tôi không nghĩ rằng điều này hoạt động cả, bất kể phần mở rộng tập tin. Tôi không thực sự đổ lỗi cho Hari vì đây là một trong những tính năng cơ bản nên "chỉ hoạt động". Apple có một lỗi mở trên nó (tôi đã điền vào nó nhiều năm trước và Apple dường như từ chối sửa nó).

@jww Nó dường như hoạt động rất tốt đối với tôi đối với các tệp có phần mở rộng. Đó là cách tôi thường thay đổi liên kết tệp.
grg

-3

Trước tiên, hãy lấy thông tin về tệp mà bạn muốn đặt văn bản cao siêu làm mặc định. Sau đó vào phần mở dưới dạng và chọn thăng hoa. Sau đó nhấn thay đổi tất cả rồi tiếp tục trên menu bật lên và bạn đã hoàn tấtHướng dẫn phần 1

Phần 2


Điều này không hoạt động khi loại tệp không có phần mở rộng
wrossmck
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.