Pilih aplikasi default untuk membuka file tanpa ekstensi?

27

Apakah mungkin untuk mengatur aplikasi default untuk membuka file tanpa ekstensi? Saya tidak mengacu ke file dengan ekstensi tersembunyi, tetapi mereka benar-benar kurang perpanjangan - misalnya README, CHANGELOG, mbox, dll

"Buka Dengan" => "Ubah Semua" pada file-file ini tidak berfungsi, kembalikan kesalahan yang ditunjukkan di bawah ini:

Buka Dengan / Ubah Semua - Gagal

Idealnya, saya ingin sistem mencoba membuka semua file seperti itu di TextMate. Saya tahu saya dapat menyeret file ke ikon Dock untuk membukanya di aplikasi tertentu, tapi saya mencari solusi yang lebih mulus dari itu (terutama karena saya memiliki Dock saya sembunyikan otomatis, yang membuatnya jauh lebih rumit).

Saya kenal dengan plugin QLStephen QuickLook yang dapat mengaktifkan QuickLook untuk beberapa file ini, tetapi saya lebih suka solusi dengan memilih / menyalin / mengedit kemampuan.

Austin
sumber

Jawaban:

12

Anda dapat menambahkan aplikasi default untuk public.plain-text di ~ / Library / Preferences / com.apple.LaunchServices.plist.

defaults write com.apple.LaunchServices LSHandlers -array-add '{LSHandlerContentType=public.plain-text;LSHandlerRoleAll=com.apple.textedit;}' '{LSHandlerContentType=public.unix-executable;LSHandlerRoleAll=com.apple.textedit;}'

Mulai ulang untuk menerapkan perubahan (logout dan kembali tidak cukup).

Saya telah menambahkan ini ke file konfigurasi duti :

com.apple.textedit public.plain-text all
com.macromates.textmate public.unix-executable all
Lri
sumber
5
Ini sepertinya bagus, lebih detail tentang apa yang terjadi di sini di tingkat atas akan menyenangkan. Intro, apa yang terjadi pada langkah 1, dll.
MrDaniel
4

Anda dapat melakukan ini menggunakan Peluncuran Ajaib. Setelah menginstal, Anda dapat membuat aturan untuk diluncurkan berdasarkan berbagai kriteria. Anda perlu membuat aturan untuk aplikasi teks di mana ekstensi kosong. Anda dapat mengatur logika yang lebih kompleks jika Anda membutuhkannya.

http://michelf.com/software/magic-launch/

barryj
sumber
Anda benar - saya harus membuat aturan khusus untuk menangani file dengan ekstensi kosong ... tetapi tampaknya berhasil - terima kasih! Satu-satunya downside adalah bahwa $ 13. Saya tidak punya masalah membayar aplikasi yang bagus, tapi itu agak curam mengingat saya sedang mencari fitur yang satu ini saja.
Austin
0

Lihatlah RCDefaultApp (freeware).

RCDefaultApp adalah panel preferensi OS Mac X 10.2 atau lebih tinggi yang memungkinkan pengguna untuk mengatur aplikasi default yang digunakan untuk berbagai skema URL, ekstensi file, tipe file, tipe MIME, dan Uniform Type Identifiers (atau UTI; MacOS 10.4 saja).

Hagelin
sumber
1
Saya suka itu gratis, tetapi tidak ada cara untuk mengatur aplikasi default untuk file tanpa ekstensi. Menggunakan tipe MIME dapat memperkirakan hal ini agak, tetapi kemudian mengubah aplikasi default semua file teks, bukan hanya mereka yang tidak memiliki ekstensi. Terima kasih atas sarannya - mungkin itu akan membantu orang lain.
Austin
0

Agak terlambat, pertanyaan "Bagaimana cara menghindari membuka file yang tidak ada dalam terminal" menjadi agak lama. Namun:

Solusi di atas melibatkan mengubah aturan yang ada, yang dapat memiliki efek samping yang tidak diinginkan. Saya menemukan yang paling mudah adalah dengan mengeksploitasi aturan yang ada untuk file tanpa tipe dan mengubah izin file untuk mendapatkan hasil yang saya inginkan.

Secara khusus: Matikan bit yang dapat dieksekusi pada file, karena itulah yang memberitahu layanan file untuk membuka dengan terminal dengan "chmod -x nama file" di mana nama file ... nama file.

Ini bisa otomatis sampai batas tertentu (dengan hati-hati): Dalam kasus saya, saya memiliki banyak file README pada mesin. Saya dapat menggunakan "find" untuk menemukan semua file "README". Dan kemudian gunakan "awk" untuk membangun perintah untuk menghapus bit yang dapat dieksekusi pada mereka semua sebagai berikut:

find /$HOME -iname 'README' | awk '{ print "chmod -x " $0 }'

ketik itu ke terminal jika Anda ingin memeriksa file apa yang akan diubah: Output akan terdiri dari daftar untuk setiap README ditemukan terlihat seperti ini:

chmod -x //Users/jimpsmith/things/README

Dan untuk mengubah semua izin tersebut jalankan semua baris ini dengan memberi biaya kepada bash sebagai berikut:

find /$HOME -iname 'README' | awk '{ print "chmod -x " $0 }' | bash

Berhati-hatilah untuk menggunakan wildcard terlalu bebas dan mendapati Anda secara tidak sengaja menghapus bit yang dapat dieksekusi dari beberapa executable yang keliru cocok.


Cara yang lebih mudah adalah dengan menjalankannya

find /$HOME -iname 'README' -exec chmod -x '{}' \;`

atau (untuk melihat apa yang akan terjadi)

find /$HOME -iname 'README' -exec echo chmod -x '{}' \;`
JamesConnolly
sumber
1
Saya entah bagaimana gagal memahami bagaimana ini memecahkan masalah yang dinyatakan dalam pertanyaan. README, ChangeLog dll. Biasanya tidak memiliki x bit yang diatur untuk memulai. Masalahnya adalah bahwa OS X bergantung pada akhiran untuk mengidentifikasi aplikasi untuk membuka file dan file-file ini tidak memiliki akhiran.
nohillside