¿Es posible configurar una aplicación predeterminada para abrir archivos sin extensión? No me refiero a archivos con extensiones ocultas, sino a aquellos que carecen por completo de una extensión, por ejemplo README
, CHANGELOG
, , mbox
, etc.
"Abrir con" => "Cambiar todo" en estos archivos no funciona y devuelve el error que se muestra a continuación:
Idealmente, me gustaría que el sistema intente abrir todos esos archivos en TextMate. Sé que puedo arrastrar archivos a los íconos del Dock para abrirlos en aplicaciones específicas, pero estoy buscando una solución más sencilla que esa (especialmente porque mi Dock se oculta automáticamente, lo que lo hace mucho más engorroso).
Estoy familiarizado con el complemento QLStephen QuickLook que puede habilitar QuickLook para algunos de estos archivos, pero preferiría una solución con capacidades de selección/copia/edición.
Puede agregar una aplicación predeterminada para public.plain-text en ~/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;}'
Reinicie para aplicar los cambios (cerrar la sesión y volver a iniciarla no es suficiente).
He agregado esto a un archivo de configuración de duti :
com.apple.textedit public.plain-text all
com.macromates.textmate public.unix-executable all
Puedes hacer esto usando Magic Launch. Después de la instalación, puede crear reglas para iniciar según varios criterios. Debe crear una regla para las aplicaciones de texto donde la extensión está en blanco. Puede configurar una lógica más compleja si la necesita.
Eche un vistazo a RCDefaultApp (software gratuito).
RCDefaultApp es un panel de preferencias de Mac OS X 10.2 o superior que permite al usuario establecer la aplicación predeterminada utilizada para varios esquemas de URL, extensiones de archivo, tipos de archivo, tipos MIME e identificadores de tipo uniforme (o UTI; solo MacOS 10.4).
Un poco tarde esto, la pregunta "Cómo evitar que se abran archivos sin tipo en la terminal" es un poco antigua. Sin embargo:
Las soluciones anteriores implican cambiar las reglas existentes, lo que puede tener efectos secundarios no deseados. Encuentro que lo más fácil es explotar las reglas existentes para archivos sin tipo y cambiar los permisos de los archivos para obtener el resultado que quiero.
Específicamente: apague el bit ejecutable en el archivo, porque eso es lo que le dice al servicio de archivos que se abra con la terminal con "chmod -x filename" donde el nombre del archivo es ... el nombre del archivo.
Esto se puede automatizar hasta cierto punto (con precaución): en mi caso, tengo muchos archivos README en una máquina. Puedo usar "buscar" para encontrar todos los archivos "README". Y luego use "awk" para construir un comando para eliminar el bit ejecutable en todos ellos de la siguiente manera:
find /$HOME -iname 'README' | awk '{ print "chmod -x " $0 }'
escríbalo en la terminal si desea verificar qué archivos se cambiarán: La salida consistirá en una lista para cada README encontrado con un aspecto similar a este:
chmod -x //Users/jimpsmith/things/README
Y para cambiar todos esos permisos, ejecute todas estas líneas cobrándolas para bash de la siguiente manera:
find /$HOME -iname 'README' | awk '{ print "chmod -x " $0 }' | bash
Solo tenga cuidado con el uso de comodines con demasiada liberalidad y descubra que accidentalmente eliminó el bit ejecutable de algunos ejecutables que coinciden erróneamente.
Una forma más fácil sería simplemente ejecutar
find /$HOME -iname 'README' -exec chmod -x '{}' \;`
o (a ver que pasaba)
find /$HOME -iname 'README' -exec echo chmod -x '{}' \;`
Actualización para Catalina:
defaults write ~/Library/Preferences/com.apple.LaunchServices/com.apple.launchservices.secure.plist LSHandlers -array-add '{LSHandlerContentType=public.plain-text;LSHandlerRoleAll=com.sublimetext.3;}' '{LSHandlerContentType=public.unix-executable;LSHandlerRoleAll=com.sublimetext.3;}'
Esto establece el valor predeterminado en Sublime Text 3
. Si desea tener cualquier otra aplicación, simplemente debe reemplazarla com.sublimetext.3
con la identificación de la aplicación de su aplicación favorita.
señor daniel
Denys Avilov