แทนที่การแก้ไขข้อความเป็นตัวแก้ไขข้อความเริ่มต้น


91

ฉันเคยเห็นคำถามแบบนี้ซึ่งไม่ค่อยแก้ปัญหาของฉัน

ฉันต้องการให้ Sublime Text 3 เป็นเครื่องมือดู / แก้ไขไฟล์เริ่มต้นสำหรับไฟล์ทั้งหมดที่ใช้ textedit ในปัจจุบัน

ไฟล์เหล่านี้ส่วนใหญ่อาจเป็นcommand+ i'd แต่ไฟล์ที่ไม่มีนามสกุลไม่สามารถทำได้ พวกเขาให้ข้อผิดพลาดการอนุญาตทุกประเภทเช่นที่อยู่ในรูปภาพนี้มีข้อมูลไม่เพียงพอ

มีวิธีใดที่จะไม่ใช้ textedit และตั้ง sublime เป็นตัวแก้ไขค่าเริ่มต้นสำหรับไฟล์ทั้งหมดหรือไม่


2
ฉันสงสัยว่าชื่อของคำถามนี้ควรเป็นเช่น "แทนที่การแก้ไขข้อความเป็นตัวแก้ไขข้อความเริ่มต้น" หรือไม่เพื่อให้ปรากฏในการค้นหาที่ไม่อ้างอิงข้อความประเสริฐ
dwightk

1
@dwightk จุดดีอัปเดตเลยตอนนี้
wrossmck

มันจะทำงานได้ดีขึ้นหรือไม่ถ้าคุณให้นามสกุลไฟล์หรือยกเลิกการซ่อนนามสกุลใน GetInfo ..
Zo219

@ Zo219 ไม่ไฟล์บางไฟล์ไม่มี / ต้องการส่วนขยายและคำถามนี้มีวัตถุประสงค์เพื่อตั้งค่าเครื่องมือแก้ไขเริ่มต้นโดยไม่ใช้วิธีแก้ปัญหาย่อยที่เหมาะสมที่สุดเพื่อให้ได้ผลลัพธ์ที่คล้ายกัน
wrossmck

คำตอบ:


49

ตั้ง Sublime Text เป็นตัวจัดการเริ่มต้นสำหรับ public.plain-text

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

คำตอบนี้สำหรับ Mavericks และก่อนหน้านี้

สำหรับโยเซมิตีและต่อมาใช้com.apple.LaunchServices / com.apple.launchservices.secure

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

อย่าลืมรีสตาร์ทเพื่อรับการเปลี่ยนแปลง


2
@Ross ใช่ (หรือออกจากระบบและกลับมาใหม่หากไม่ใช่ผู้ใช้รูท)
grg

1
อืมดูเหมือนจะไม่เหมาะกับฉัน (หลังจากรีสตาร์ทแบบเต็ม) และฉันได้ตรวจสอบแล้วว่ารายการนั้นอยู่ในตำแหน่งที่ถูกต้องใน launchServices.plist
wrossmck

1
ที่น่าสนใจมันใช้งานได้จริงถ้าฉันทำopen file2ใน terminal หรือแม้กระทั่งการดับเบิลคลิก ฉันคิดว่ามันไม่ทำงานเพราะถ้าฉันได้รับข้อมูลมันแสดงให้เห็นว่ามันเปิดด้วย TextEdit
wrossmck

1
@Justin ดูเหมือนว่าหลังจากการรีสตาร์ทแบบเต็มfile->infoตอนนี้แสดงว่า Sublime เป็นแอปพลิเคชั่นเริ่มต้น ฉันเกือบจะแน่ใจว่าฉันไม่ได้ทำสิ่งใดเพื่อเปลี่ยนแปลงผลลัพธ์
wrossmck

1
บน OS X Yosemite ฉันต้องการแก้ไข ~ / Library / Preferences / com.apple.LaunchServices / com.apple.launchservices.secure.plist โดยที่คำสั่งข้างต้นสร้างไฟล์ ~ / Library / Preferences / com.apple.LaunchServices.plist ซึ่ง ไม่มีผล
DonnaLea

43

อีกตัวเลือกหนึ่งคือใช้ duti ( http://duti.org / https://github.com/moretension/duti )

เรียกใช้brew install dutiบันทึกประเภทไฟล์ดังนี้:

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

com.apple.LaunchServices.plistการเปลี่ยนแปลงที่ควรนำมาใช้ทันทีดังนั้นคุณจึงไม่ต้องรีสตาร์ทเช่นเมื่อมีการแก้ไข

หากต้องการเปลี่ยนแอปพลิเคชันเริ่มต้นสำหรับสคริปต์ที่เรียกใช้งานโดยไม่มีนามสกุลไฟล์ให้เพิ่มบรรทัดดังนี้:

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


1
เมื่อใช้ Duti line 1: line too longทำงานกับไฟล์ที่ฉันได้รับข้อผิดพลาด ฉันสามารถแก้ไขได้โดยไม่ใช้ไฟล์การตั้งค่าและโทรduti -s com.sublimetext.3 public.plain-text allจากสาย cmd
KyleMit

สิ่งนี้ใช้ได้สำหรับฉัน การใช้defaultsไม่ทำงาน
nathancahill

1
@KyleMit คุณต้องมีบรรทัดว่างที่ท้ายไฟล์เพื่อหลีกเลี่ยงข้อผิดพลาดบรรทัดยาวเกินไป
เทอร์รี่

1
ยังใช้ได้กับorg.vim.MacVim!
ruohola

2
duti.org ไม่มีอยู่อีกต่อไป
โซริน

38

ฉันลองใช้วิธีแก้ปัญหาของgrgarsideในอดีตและฉันเชื่อว่าวิธีนี้ใช้ได้ผล อย่างไรก็ตามในโยเซมิตีและเอลแคปปินฉันพบปัญหา

ความคิดเห็นของDonnaLeaในโซลูชันนั้นทำให้ฉันเข้าใจในการสร้างโซลูชัน ฉันจะเพิ่มเส้นทางโฟลเดอร์ก่อนนอกจากนี้ไฟล์มีชื่อแตกต่างกันเล็กน้อยcom.apple.launchservicescom.apple.launchservices.secure

คุณสามารถดูไฟล์ / โฟลเดอร์ที่ถูกแก้ไขในพา ธ ต่อไปนี้:

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

สกรีนช็อตสำหรับการอ้างอิง: ป้อนคำอธิบายรูปภาพที่นี่

นี่คือคำสั่งที่ฉันใช้ใน terminal:

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

สุดท้ายหลังจากรีสตาร์ทเครื่องของฉันมันทำงานตามที่โฆษณาไว้


5
ขอบคุณที่ชี้ให้เห็นว่าคำตอบของฉันล้าสมัยแล้ว ฉันได้ระบุรุ่นของ OS X ที่คำตอบของฉันใช้ได้และให้ลิงก์ไปยังคำตอบนี้
grg

1
ขอบคุณ! สามารถยืนยันสิ่งนี้เพื่อทำงานกับ El Capitan ไม่มีการแก้ไขข้อความอีกต่อไปเมื่อเปิด Podfile :)
Lord Zsolt

ฉันได้ติดตั้ง Sublime text 3 แล้วแต่ไม่มีไฟล์การกำหนดค่าตามความชอบ com.sublimetext.3: ฉันจำเป็นต้องสร้างหรือไม่?
ลิง

21
  1. คลิกขวาที่ไฟล์. txt ใน Finder
  2. เลือก "รับข้อมูล"
  3. ขยาย "เปิดด้วย:" และเลือกเท็กซ์เอดิเตอร์ที่คุณต้องการในดร็อปดาวน์
  4. กดปุ่ม "เปลี่ยนทั้งหมด ... " ใต้รายการแบบหล่นลงจากนั้นยืนยันในกล่องโต้ตอบที่ปรากฏขึ้นพร้อมกับ "ดำเนินการต่อ"

สิ่งนี้ใช้ได้กับ Yosemite (OS X 10.10)


9
นี่ไม่ได้ตอบคำถาม คำถามคือวิธีการทำเช่นนี้สำหรับไฟล์ทั้งหมดแม้กระทั่งที่ไม่มีนามสกุลไฟล์
wrossmck

แม้ว่าคำตอบจะปิดหัวข้อเล็กน้อย แต่ก็ยังช่วยฉันออกจากการค้นหาของ Google +1
เท็ดดี้

wrossmck คุณพูดถูกแล้ว - คำตอบของฉันยังซ้ำกับคำถามและคำตอบที่อ้างถึงในบรรทัดแรกของคำถามนี้ แต่ฉันไม่ได้สังเกตสิ่งนี้จนกว่าฉันจะตอบคำถามด้วยตัวเองจากคำตอบอื่น ๆ ในหน้านี้และโพสต์คำตอบนี้ อาจเป็นปัญหาคือการค้นหาคำตอบง่ายๆ (เช่นไฟล์. txt) นำไปสู่หน้านี้และไม่ใช่คนอื่น ๆ (เช่น @Teddy และฉันพบ)
David Resnick

@wrossmck สิ่งนี้ใช้ได้กับฉันใน High Sierra เมื่อฉันทำสิ่งนี้ในไฟล์. txt การพิมพ์บางอย่างเช่นopen -t script.sqlยังคงเปิดไว้ในโปรแกรมแก้ไขข้อความที่ฉันต้องการตั้งค่าโดยใช้เส้นทางเหล่านี้แม้ว่าส่วนขยายจะไม่ใช่. txt
Mark White

14

โซลูชันที่เสนอที่นี่ทำงานได้อย่างสมบูรณ์แบบสำหรับ Sublime แต่ฉันต้องการทำเช่นนี้กับ Visual Studio Code ความแตกต่างเพียงอย่างเดียวคือคุณต้องค้นหา "ตัวระบุบันเดิลของแอปพลิเคชัน" สำหรับตัวแก้ไขข้อความที่คุณใช้ ฉันรันคำสั่งนี้:

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

ลิงค์สำหรับการอ้างอิง

เพื่อรับตัวระบุ "com.microsoft.VSCode" จากนั้นฉันติดตั้ง "duti" และเรียกใช้คำสั่งนี้:

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

สิ่งนี้จะใช้ได้กับโปรแกรมแก้ไขข้อความใด ๆ ที่คุณต้องการติดตั้งภายใต้ / Applications ฉันหวังว่านี่จะช่วยผู้ใช้ที่ไม่ใช่ Sublime


1
ขอบคุณ! วิธีนี้ใช้ได้กับ Atom ( com.github.atom) เช่นกัน
RobW

1
ใช้ได้กับ MacVim ( org.vim.MacVim) ด้วย!
ruohola

สิ่งที่ฉันกำลังมองหา ในกรณีที่คุณกำลังอ่านข้อความนี้และพลาดคำแนะนำสำหรับการติดตั้งdutiดังกล่าวข้างต้นมันนี่apple.stackexchange.com/a/123954/251846
flow2k

ที่จะได้รับdutiคุณสามารถติดตั้ง homebrewbrew install dutiและเรียกใช้
คาเมรอนฮัดสัน

5

ฉันรวบรวมทุกการจัดการแอพพลิเคเริ่มต้นของฉันกับเมจิกเปิดตัว คุณสามารถกำหนดค่าให้เปิดทั้งหมดtxtด้วย Sublime Text เป็นค่าเริ่มต้นโดยไม่มีบรรทัดคำสั่ง (นอกจากคุณสามารถเปลี่ยนได้อย่างง่ายดายจากSystem Preferences)

Magic Launch Preferences

คุณสมบัติที่โดดเด่นอีกประการหนึ่งของ Magic Launch คือคุณสามารถตั้งกฎตามชื่อไฟล์ตำแหน่งโฟลเดอร์ซึ่งฉันใช้อย่างเข้มข้นเพื่อเลือกแอพที่แตกต่างกันสำหรับการพัฒนาและการเขียน


1

RCDefaultAppยังคงทำงานกับ macOS Sierra คุณสามารถเลือกได้ว่าโปรแกรมใดที่เป็นค่าเริ่มต้นสำหรับข้อความธรรมดา (BBEedit ในกรณีของฉัน)

สกรีนช็อตของ RCDefaultApp


ใช้กับไฟล์ที่ไม่มีนามสกุลหรือไม่
wrossmck

อย่างแน่นอน บนแท็บฉันกำลังแสดงให้คุณเห็นส่วนหน้าแบบกราฟิกกับคำตอบบรรทัดคำสั่ง หากคุณมีความสนใจในการตั้งค่าตามส่วนขยายเท่านั้น (เพราะเหตุใดฉันจึงรู้ว่าคุณไม่ใช่) คุณจะต้องไปที่แท็บ "Erweiterungen" = ส่วนขยาย
traindriver

-2

โซลูชันนี้ได้รับการคัดลอกมาจากวิดีโอ YouTube แต่ใช้งานได้ดีกับสถานการณ์ของฉัน (ฉันเพิ่งใช้ Sublime เพื่อแก้ไขไฟล์ในภาษาต่างๆเช่น Python, Java, และ Ruby)

สำหรับไฟล์ใดไฟล์หนึ่งคลิกขวาเลือก "ข้อมูลเพิ่มเติม" และคลิกที่แท็บ "เปิดด้วย" คุณสามารถเลือกตัวแก้ไขข้อความที่คุณต้องการที่นี่และใช้ "เปลี่ยนทั้งหมด" เพื่อใช้ตัวแก้ไขสำหรับไฟล์ทั้งหมดของประเภทนี้ เห็นได้ชัดว่าวิธีนี้ใช้ไม่ได้กับไฟล์ที่ไม่มีส่วนขยาย แต่เป็นการแก้ไขด่วนแบบง่ายสำหรับฉัน


สิ่งนี้ไม่เป็นประโยชน์เพราะคุณจะต้องดำเนินการนี้แบบต่อส่วนขยาย คำถามคือการมองหาทางออกที่ครั้งหนึ่งและทุกครั้ง
wrossmck

-3

คลิกขวาที่ไฟล์ -> อื่น ๆ -> เลือกเครื่องมือแก้ไขข้อความที่คุณชื่นชอบ (ฉันเลือกข้อความประเสริฐในโฟลเดอร์แอปพลิเคชันของฉัน) -> ทำเครื่องหมายที่ช่องทำเครื่องหมาย 'เปิดเสมอกับ' -> เปิด

การตั้งค่านี้จะนำไปใช้กับไฟล์อื่น ๆ ทั้งหมดในเครื่องโดยอัตโนมัติ

ไม่จำเป็นต้องรีสตาร์ทหรือไม่จำเป็นต้องใช้ซอฟต์แวร์ของบุคคลที่สามใด ๆ


2
ไม่ทำงานเมื่อไม่มีนามสกุลไฟล์
grg

@grgarside - ฉันไม่คิดว่ามันจะทำงานได้ทั้งหมดไม่ว่าจะเป็นนามสกุลไฟล์ก็ตาม ฉันไม่โทษ Hari เพราะนี่เป็นคุณสมบัติพื้นฐานอย่างหนึ่งที่ควร "แค่ทำงาน" Apple มีบั๊กแบบเปิดอยู่ (ฉันกรอกมาหลายปีแล้วและเห็นได้ชัดว่า Apple ปฏิเสธที่จะแก้ไข)

@jww ดูเหมือนว่าจะทำงานได้ดีสำหรับฉันสำหรับไฟล์ที่มีนามสกุล - มันเป็นวิธีที่ฉันมักจะเกี่ยวกับการเปลี่ยนการเชื่อมโยงไฟล์
grg

-3

ก่อนอื่นขอข้อมูลเกี่ยวกับไฟล์ที่คุณต้องการตั้งค่าข้อความประเสริฐเป็นค่าเริ่มต้น จากนั้นไปที่เปิดเป็นส่วนและเลือกประเสริฐ หลังจากนั้นกดเปลี่ยนทั้งหมดแล้วดำเนินการต่อในเมนูป๊อปอัพและคุณเสร็จแล้วคำแนะนำตอนที่ 1

ส่วนที่ 2


สิ่งนี้จะไม่ทำงานเมื่อประเภทไฟล์ไม่มีส่วนขยาย
wrossmck
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.