Làm cách nào để đặt TextEdit vĩnh viễn trong danh sách menu Mở bằng chế độ?


25

Tôi là một nhà phát triển và thường xử lý các loại tệp bất thường. Nếu tôi muốn mở một trong các tệp này trong TextEdit, tôi phải khởi động nó trước rồi mở tệp với nó hoặc kéo tệp vào biểu tượng TextEdit.

Có cách nào để đưa TextEdit.app vĩnh viễn vào danh sách menu Mở bằng ... cho dù tôi đang xem loại tệp nào không?

Tất nhiên quy trình này sẽ hữu ích cho bất kỳ trình soạn thảo văn bản nào bạn chọn nếu TextEdit không phải là tách trà của bạn.


1
Tôi cũng có mong muốn này. Hiện tại, tôi giữ TextEdit trong Dock của mình, vì vậy nó luôn có sẵn để kéo tệp lên.
GEdgar

Câu trả lời:


19

Cách duy nhất để làm điều này với tất cả các loại tệp là tạo một dịch vụ trong trình tự động hóa, điều này thực sự sẽ giúp mọi việc dễ dàng hơn cho bạn.

  1. Mở Automator và chọn "Dịch vụ".
  2. Trong danh sách thả xuống "Dịch vụ nhận được chọn ...", hãy thay đổi thành đọc "nhận các tệp và thư mục đã chọn trong bất kỳ ứng dụng nào "
  3. Chọn Tiện ích từ menu thư viện trong khung bên trái và nhấp đúp vào "Run Shell Script"
  4. Thay đổi menu thả xuống "Pass Input" thành "as argument"
  5. Xóa tập lệnh mặc định và thay thế bằng đoạn sau:

    if [ -f "$1" ] ; then
        open -a "TextEdit" "$1" ;
    fi
    

Lưu tệp này dưới dạng bất cứ thứ gì bạn muốn nó hiển thị như trong menu ngữ cảnh của bạn, một cái gì đó như "Mở bằng TextEdit" và bạn đã hoàn tất, giờ đây bạn sẽ có tùy chọn để mở bất kỳ tệp nào có chỉnh sửa văn bản.

Nó sẽ không mở trong menu, nó sẽ là một mục riêng trong menu ngữ cảnh được nhóm với bất kỳ dịch vụ nào khác mà bạn đang chạy.

Mặt khác, nếu bạn đang phát triển trên máy Mac, bạn thực sự nên nghĩ đến việc sử dụng trình soạn thảo văn bản tốt hơn như TextMate hoặc TextWrangler hoặc Sublime Text, một số trong số này thậm chí còn thêm dịch vụ cho bạn để giúp bạn tiết kiệm tất cả những điều trên.


1
+1, và vâng, TextEdit không phải là trình soạn thảo văn bản gốc thực sự - nó có thể làm điều đó, nhưng nó không có bất kỳ tính năng nào để làm cho nó dễ dàng hơn, và thay vào đó sẽ chỉnh sửa văn bản phong phú.
NRzingh

Đẹp! Sẽ tốt hơn nữa nếu chúng ta có thể hạn chế điều này cho tất cả các tệp ở định dạng văn bản (bao gồm mã nguồn và tương tự)
William Jockusch

1
Có cách nào để làm cho nó xuất hiện trong menu chính thay vì phải tìm kiếm trong menu dịch vụ không? Hoặc ít nhất là để ẩn các mục không sử dụng trong menu dịch vụ ...
pqnet

@pqnet - bạn đã tìm thấy cách để làm điều này? Tôi cũng đang tìm kiếm điều này: apple.stackexchange.com/questions/206068/NH
Chris Snow

7

Bạn có thể thêm các loại tệp được hỗ trợ bằng cách chỉnh sửa Info.plist , nhưng tôi không biết cách nào để làm điều đó cho tất cả các loại tệp. Thêm UTI như public.data hoặc public.item vào Info.plist hoặc com.apple.LaunchService.plist dường như không hoạt động.

Tôi đã sử dụng duti để biến TextMate thành ứng dụng mặc định cho các loại văn bản thuần túy khác nhau:

# plain text files without an extension
com.macromates.TextMate.preview public.plain-text all

# executable scripts
com.macromates.TextMate.preview public.unix-executable all

com.macromates.TextMate.preview .as all
com.macromates.TextMate.preview .ass all
com.macromates.TextMate.preview .bash all
com.macromates.TextMate.preview .bom all
com.macromates.TextMate.preview .c all
com.macromates.TextMate.preview .cfm all
com.macromates.TextMate.preview .cfml all
com.macromates.TextMate.preview .class all
com.macromates.TextMate.preview .coffee all
com.macromates.TextMate.preview .conf all
com.macromates.TextMate.preview .cpp all
com.macromates.TextMate.preview .css all
com.macromates.TextMate.preview .csv all
com.macromates.TextMate.preview .ctp all
com.macromates.TextMate.preview .dat all
com.macromates.TextMate.preview .data all
com.macromates.TextMate.preview .doc all
com.macromates.TextMate.preview .erb all
com.macromates.TextMate.preview .fields all
com.macromates.TextMate.preview .gemspec all
com.macromates.TextMate.preview .h all
com.macromates.TextMate.preview .haml all
com.macromates.TextMate.preview .hotkey all
com.macromates.TextMate.preview .hpp all
com.macromates.TextMate.preview .idx all
com.macromates.TextMate.preview .java all
com.macromates.TextMate.preview .js all
com.macromates.TextMate.preview .json all
com.macromates.TextMate.preview .keylayout all
com.macromates.TextMate.preview .kmlibrary all
com.macromates.TextMate.preview .less all
com.macromates.TextMate.preview .log all
com.macromates.TextMate.preview .m all
com.macromates.TextMate.preview .manifest all
com.macromates.TextMate.preview .md all
com.macromates.TextMate.preview .mm all
com.macromates.TextMate.preview .msass all
com.macromates.TextMate.preview .opml all
com.macromates.TextMate.preview .pg all
com.macromates.TextMate.preview .php all
com.macromates.TextMate.preview .pl all
com.macromates.TextMate.preview .plist all
com.macromates.TextMate.preview .plist all
com.macromates.TextMate.preview .py all
com.macromates.TextMate.preview .rb all
com.macromates.TextMate.preview .rd all
com.macromates.TextMate.preview .rdoc all
com.macromates.TextMate.preview .readme all
com.macromates.TextMate.preview .rhtml all
com.macromates.TextMate.preview .rst all
com.macromates.TextMate.preview .sb all
com.macromates.TextMate.preview .scss all
com.macromates.TextMate.preview .sh all
com.macromates.TextMate.preview .srt all
com.macromates.TextMate.preview .strings all
com.macromates.TextMate.preview .sub all
com.macromates.TextMate.preview .tex all
com.macromates.TextMate.preview .tsv all
com.macromates.TextMate.preview .utf all
com.macromates.TextMate.preview .xml all
com.macromates.TextMate.preview .yaml all

duti không hỗ trợ chỉ thêm các ứng dụng để mở bằng menu mà không làm cho chúng mặc định.


2

Đây là bản phóng tác của câu trả lời được chấp nhận của @ JamiePatt , sử dụng cải tiến của user48595 , với việc bổ sung rằng nó sẽ biến TextEdit thành ứng dụng mặc định để mở tệp trước khi thực sự mở tệp. Điều này có nghĩa là trong tương lai tệp có thể được mở theo cách thông thường.

  1. Xác minh mã thập lục phân bằng cách chạy xattr -p com.apple.LaunchServices.OpenWith <file>, trong đó 'tệp' là một số tệp bạn đã đặt thủ công để mở bằng TextEdit.

  2. Mở Automator và chọn loại "Dịch vụ" cho tài liệu của bạn.

  3. Trong danh sách thả xuống "Dịch vụ nhận được chọn", chọn "tệp hoặc thư mục".

  4. Thêm bước "Tiện ích -> Đặt giá trị của biến". Bạn sẽ thấy một biến có tên là "Storage".

  5. Thêm bước "Tiện ích -> Chạy Shell Script". Trong danh sách thả xuống "vượt qua đầu vào", chọn "làm đối số". Thay thế nội dung của trường văn bản bằng bên dưới, đảm bảo mã thập lục phân giống như những gì bạn nhận được từ bước đầu tiên.

    if [ -f "$1" ] ; then
        xattr -wx com.apple.LaunchServices.OpenWith "62 70 6C 69 73 74 30 30 D3 01 02 03 04 05 06 57 76 65 72 73 69 6F 6E 54 70 61 74 68 5F 10 10 62 75 6E 64 6C 65 69 64 65 6E 74 69 66 69 65 72 10 00 5F 10 1A 2F 41 70 70 6C 69 63 61 74 69 6F 6E 73 2F 54 65 78 74 45 64 69 74 2E 61 70 70 5F 10 12 63 6F 6D 2E 61 70 70 6C 65 2E 54 65 78 74 45 64 69 74 08 0F 17 1C 2F 31 4E 00 00 00 00 00 00 01 01 00 00 00 00 00 00 00 07 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 63" "$1";
        xattr -d com.apple.quarantine "$1" || true;
    fi
    
  6. Thêm bước "Tiện ích -> Nhận giá trị của biến". Bạn sẽ thấy một biến có tên là "Storage".

  7. Thêm bước "Tệp & Thư mục -> Mở Mục Tìm kiếm". Trong danh sách thả xuống "Mở bằng", chọn "TextEdit".

  8. Lưu với một tên dễ nhớ, chẳng hạn như TextEditify.

Lần đầu tiên bạn muốn mở một tài liệu không phải là TextEdit, bạn sẽ phải chọn TextEditify từ menu chuột phải. Mở ra sau đó có thể xảy ra cách bình thường.

Giải thích về kịch bản:

Lệnh đầu tiên xattrthêm thuộc tính thường được lưu nếu bạn chọn "luôn mở bằng" thủ công.

Lệnh thứ hai xattrđảm bảo rằng lệnh này hoạt động với các tệp được tải xuống từ Internet.


1

Bạn có thể tạo một quy trình làm việc của menu Dịch vụ như Ảnh hưởng của mô tả. Tuy nhiên, bạn chỉ có thể sử dụng tùy chọn 'Mở các mục tìm kiếm' và thêm TextEdit làm ứng dụng.

Có một bài viết hay về nó ở đây , nó giải thích cách tạo ra quy trình công việc chi tiết hơn.


1
Câu trả lời trên Hỏi khác nhau không chỉ là một liên kết. Bạn có thể bao gồm một liên kết, nhưng vui lòng tóm tắt hoặc trích dẫn nó trong câu trả lời. Ý tưởng là làm cho câu trả lời đứng một mình.
nohillside

0
  1. Mở ứng dụng Automator

  2. Nhấp chuột New Document

  3. Chọn Service

    nhập mô tả hình ảnh ở đây

  4. Thay đổi Services receives selectedthành "tập tin hoặc thư mục"

    nhập mô tả hình ảnh ở đây

  5. Tìm kiếm Action"Mục tìm kiếm mở" và kéo nó vào không gian dòng công việc

    gif

  6. Thay đổi Open with:thành "TextEdit" hoặc bất kỳ ứng dụng nào bạn muốn (Tôi thích "Visual Studio Code")

  7. Lưu dịch vụ của bạn một cái gì đó hợp lý, như "Mở bằng TextEdit" nếu bạn chọn TextEdit.

Bây giờ bạn có thể nhấp chuột phải vào bất kỳ mục Finder nào và chọn Services-> Open with TextEdit!

Cảm ơn user48595 và liên kết được đăng trong câu trả lời của anh ấy: http://www.mactricksandtips.com/2013/05/add-open-with-textedit-or-any-other-app-to-right-click-menu-item .html


-3

Chỉ cần sử dụng tùy chọn "-e" để mở bằng TextEdit: open -e yourfile.whthing và nó sẽ mở nó trong TextEdit.

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.