Ganti Edit Teks sebagai editor teks default

91

Saya telah melihat pertanyaan seperti ini yang tidak cukup menyelesaikan masalah saya.

Saya ingin menjadikan Sublime Text 3 penampil file / editor default untuk semua file yang saat ini menggunakan textedit.

Sebagian besar file-file ini bisa command+ id, tetapi yang tidak memiliki ekstensi tidak bisa. Mereka memberikan segala macam kesalahan izin seperti yang ada di gambar initidak cukup informasi yang tersedia

Apakah ada cara untuk tidak pernah menggunakan textedit, dan alih-alih mengatur sublim sebagai editor default untuk semua file ?

wrossmck
sumber
2
Saya ingin tahu apakah judul pertanyaan ini harus seperti "Ganti Edit Teks sebagai editor teks default" sehingga muncul dalam pencarian yang tidak merujuk teks yang agung.
dwightk
1
@dwightk poin bagus, perbarui sekarang
wrossmck
Apakah akan bekerja lebih baik jika Anda memberi ekstensi file, atau Unhide ekstensi di GetInfo ..?
Zo219
@ Zo219 tidak, beberapa file tidak memiliki / memerlukan ekstensi, dan pertanyaan ini ditujukan untuk mengatur editor default, bukan menggunakan beberapa solusi yang kurang optimal untuk mencapai hasil yang sama.
wrossmck

Jawaban:

49

Atur Sublime Text sebagai handler default untuk public.plain-text

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

Jawaban ini untuk Mavericks dan sebelumnya.

Untuk Yosemite dan yang lebih baru, gunakan 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;}'

Ingatlah untuk memulai kembali untuk mengambil perubahan.

GRG
sumber
2
@Ross Ya (atau logout dan kembali jika bukan pengguna root).
grg
1
Hmm, jadi itu sepertinya tidak berhasil untukku. (setelah restart penuh.) Dan saya telah memverifikasi bahwa entri berada di lokasi yang tepat di launchServices.plist
wrossmck
1
Menariknya, itu benar-benar berfungsi jika saya lakukan open file2di terminal atau bahkan dengan mengklik ganda. Saya pikir itu tidak berfungsi karena jika saya mendapatkan info tentang itu, itu menunjukkan bahwa itu terbuka dengan TextEdit.
wrossmck
1
@Justin Sepertinya setelah restart penuh file->infosekarang menampilkan Sublime adalah aplikasi default. Saya hampir yakin bahwa saya tidak melakukan hal lain untuk mengubah hasilnya.
wrossmck
1
Pada OS X Yosemite saya perlu mengedit ~ / Library / Preferences / com.apple.LaunchServices / com.apple.launchservices.secure.plist Sedangkan perintah di atas membuat file ~ / Library / Preferences / com.apple.LaunchServices.plist yang tidak berpengaruh.
DonnaLea
43

Pilihan lain adalah menggunakan duti ( http://duti.org / https://github.com/moretension/duti ).

Jalankan brew install duti, simpan tipe file seperti ini sebagai:

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

Perubahan harus segera diterapkan, jadi Anda tidak harus memulai kembali seperti saat mengedit com.apple.LaunchServices.plist.

Untuk juga mengubah aplikasi default untuk skrip yang dapat dieksekusi tanpa ekstensi nama file, tambahkan baris seperti ini:

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

Lri
sumber
1
Saat menjalankan menjalankan duti terhadap file saya mendapatkan kesalahan line 1: line too long. Saya dapat mengatasinya dengan tidak menggunakan file pengaturan dan panggilan duti -s com.sublimetext.3 public.plain-text alldari baris cmd
KyleMit
Ini berhasil untuk saya. Penggunaan defaultstidak berhasil.
nathancahill
1
@KyleMit Anda memerlukan baris kosong di akhir file untuk menghindari kesalahan baris yang terlalu panjang.
Terry
1
juga bekerja dengan org.vim.MacVim!
ruohola
2
duti.org tidak ada lagi.
sorin
38

Saya mencoba solusi grgarside di masa lalu dan saya yakin itu berhasil. Namun, pada Yosemite dan El Capitan, saya menemui masalah.

Komentar DonnaLea dalam solusi itu memberi petunjuk kepada saya tentang cara menciptakan solusi. Saya menambahkan path folder sebelum com.apple.launchservicesjuga file memiliki nama yang sedikit berbeda com.apple.launchservices.secure.

Anda dapat melihat file / folder sedang dimodifikasi di jalur berikut:

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

Tangkapan layar untuk referensi: masukkan deskripsi gambar di sini

Inilah perintah yang saya gunakan di terminal:

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

Terakhir, setelah restart ke mesin saya itu berfungsi seperti yang diiklankan.

Michael Mizner
sumber
5
Terima kasih telah menunjukkan bahwa jawaban saya sudah usang. Saya telah menunjukkan versi OS X mana jawaban saya berfungsi dan memberikan tautan ke jawaban ini.
GRG
1
Terima kasih! Dapat mengkonfirmasi ini berfungsi di El Capitan. Tidak ada lagi Edit Teks saat membuka Podfile :)
Lord Zsolt
Saya telah menginstal teks 3 agung tetapi tidak ada file preferensi com.sublimetext.3: apakah saya perlu membuatnya?
ling
21
  1. Klik kanan pada file .txt di Finder.
  2. Pilih "Dapatkan Info".
  3. Rentangkan "Buka dengan:" dan pilih editor teks pilihan Anda di tarik-turun.
  4. Tekan tombol "Ubah Semua ..." di bawah drop-down dan kemudian konfirmasikan dalam dialog yang muncul dengan "Lanjutkan".

Ini berfungsi pada Yosemite (OS X 10.10).

David Resnick
sumber
9
Ini tidak menjawab pertanyaan. Pertanyaannya adalah bagaimana melakukan ini untuk semua file, bahkan yang tanpa ekstensi file.
wrossmck
Bahkan jika jawabannya sedikit di luar topik, itu masih membantu saya keluar dari pencarian Google. +1
Teddy
wrossmck Anda pada dasarnya benar - jawaban saya bahkan mengulangi tanya jawab pada baris pertama pertanyaan ini. Tetapi saya tidak menyadari hal ini sampai setelah saya mengumpulkan jawaban saya sendiri dari jawaban lain di halaman ini dan memposting jawaban ini. Mungkin masalahnya adalah bahwa mencari jawaban sederhana (yaitu file .txt) mengarah ke halaman ini dan bukan yang lain (seperti yang saya temukan di @Teddy dan saya).
David Resnick
@ wrossmck Ini bekerja untuk saya di High Sierra. Setelah saya melakukan ini pada file .txt, mengetik sesuatu seperti open -t script.sqlmasih membukanya di editor teks pilihan saya yang saya atur menggunakan petunjuk ini, meskipun ekstensi tidak .txt
Mark White
14

Solusi yang diusulkan di sini berfungsi dengan sempurna untuk Sublime, tetapi saya ingin melakukan ini untuk Visual Studio Code. Satu-satunya perbedaan adalah Anda harus menemukan "pengidentifikasi bundel aplikasi" untuk editor teks apa pun yang Anda gunakan. Saya menjalankan perintah ini:

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

tautan untuk referensi

untuk mendapatkan pengidentifikasi "com.microsoft.VSCode". Kemudian saya menginstal "duti" dan menjalankan perintah ini:

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

Ini harus berfungsi untuk semua editor teks yang Anda inginkan yang diinstal di bawah / Aplikasi. Saya harap ini membantu pengguna yang tidak luhur.

Mark Kurkowski
sumber
1
Terima kasih! Metode ini berfungsi untuk Atom ( com.github.atom) juga.
RobW
1
Juga berfungsi untuk MacVim ( org.vim.MacVim)!
ruohola
Persis apa yang saya cari. Jika Anda membaca ini dan melewatkan instruksi untuk menginstal di dutiatas, ada di sini apple.stackexchange.com/a/123954/251846 .
flow2k
Untuk mendapatkan duti, Anda dapat menginstal homebrew dan kemudian jalankan brew install duti.
Cameron Hudson
5

Saya memusatkan semua manajemen aplikasi default saya dengan Magic Launch . Anda dapat mengonfigurasinya untuk membuka semua txtdengan Teks Sublim sebagai default tanpa baris perintah (di samping, Anda dapat dengan mudah mengubahnya dari System Preferences).

Preferensi Peluncuran Ajaib

Satu lagi fitur Peluncuran Ajaib berguna yang luar biasa adalah Anda dapat menetapkan aturan berdasarkan nama file, lokasi folder, yang saya gunakan secara intensif untuk memilih aplikasi yang berbeda untuk pengembangan dan penulisan.

sayzlim
sumber
1

RCDefaultApp masih berfungsi di macOS Sierra. Anda dapat dengan mudah memilih program apa yang default untuk teks biasa (BBEedit dalam kasus saya).

Cuplikan layar RCDefaultApp

masinis
sumber
Apakah ini berfungsi untuk file yang tidak memiliki ekstensi?
wrossmck
Benar. Pada tab yang saya tunjukkan pada dasarnya Anda melihat tampilan grafis pada jawaban baris perintah. Jika Anda tertarik untuk menetapkan hanya berdasarkan ekstensi (mengapa saya tahu Anda tidak), Anda harus pergi ke tab "Erweiterungen" = Ekstensi.
traindriver
-2

Solusi ini diambil dari video YouTube, tetapi berfungsi dengan baik untuk situasi saya (saya hanya menggunakan Sublime untuk mengedit file dalam bahasa seperti Python, Java, dan Ruby).

Untuk file tertentu, klik kanan, pilih "More Info", dan klik pada tab "Open with". Anda dapat memilih editor teks apa yang Anda inginkan di sini, dan menggunakan "Ubah-semua" untuk menggunakan editor untuk semua file jenis ini. Jelas, ini tidak berfungsi untuk file tanpa ekstensi, tetapi ini merupakan perbaikan cepat yang mudah bagi saya.

M. Fisher
sumber
Ini tidak berguna karena Anda harus melakukan ini berdasarkan ekstensi demi ekstensi. Pertanyaannya adalah mencari solusi sekali dan untuk semua
wrossmck
-3

Klik kanan pada file -> Lainnya -> Pilih editor teks favorit Anda (Saya memilih teks Sublim di folder Aplikasi saya) -> Centang kotak 'Selalu Buka dengan' -> Buka.

Pengaturan ini akan secara otomatis diterapkan ke semua file lain di mesin.

Tidak perlu restart atau tidak perlu perangkat lunak pihak ke-3.

Hari Hara Kumar Earlapati
sumber
2
Itu tidak berfungsi ketika tidak ada ekstensi file.
grg
@ grgarside - Saya rasa ini tidak berfungsi sama sekali, terlepas dari ekstensi file. Saya tidak benar-benar menyalahkan Hari karena ini adalah salah satu fitur dasar yang seharusnya "hanya berfungsi". Apple memiliki bug terbuka di atasnya (saya mengisinya bertahun-tahun yang lalu, dan Apple tampaknya menolak untuk memperbaikinya).
@jww Tampaknya bekerja dengan baik bagi saya untuk file dengan ekstensi — begitulah biasanya saya mengubah asosiasi file.
grg
-3

Pertama, dapatkan info tentang file yang ingin Anda setel teks luhur sebagai default. Lalu buka bagian open as dan pilih sublime. Setelah itu tekan ubah semua kemudian lanjutkan pada menu popup dan Anda selesaiInstruksi bagian 1

Bagian 2

pengguna169950
sumber
Ini tidak berfungsi ketika tipe file tidak memiliki ekstensi
wrossmck