¿Cómo colocar permanentemente TextEdit en la lista del menú Abrir con ...?

21

Soy un desarrollador y a menudo trato con tipos de archivos inusuales. Si quiero abrir uno de estos archivos en TextEdit, primero tengo que iniciarlo y luego abrir el archivo con él, o arrastrar el archivo al icono de TextEdit.

¿Hay alguna forma de colocar permanentemente el TextEdit.app en la lista del menú Abrir con ... sin importar qué tipo de archivo esté viendo?

Por supuesto, este procedimiento será útil para cualquier editor de texto que elijas si TextEdit no es tu taza de té.

    
pregunta DrummerB 13.08.2012 - 19:39

5 respuestas

18

La única forma de hacer esto con todos los tipos de archivos es crear un servicio en automator, que en realidad debería facilitarte las cosas.

  1. Abre Automator y selecciona "Servicio".
  2. En el menú desplegable "El servicio recibe seleccionado ...", cámbielo para que lea "recibe archivos y carpetas seleccionados en cualquier aplicación "
  3. Seleccione Utilidades en el menú de la biblioteca en el panel izquierdo y haga doble clic en "Ejecutar script de shell"
  4. Cambie el menú desplegable "Pasar entrada" a "como argumentos"
  5. Elimine el script predeterminado y sustitúyalo por lo siguiente:

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

Guarde este archivo como desee que aparezca en su menú contextual, algo como "Abrir con edición de texto" y listo. Ahora tendrá la opción de abrir cualquier archivo con edición de texto.

No estará abierto con el menú, será un elemento separado en el menú contextual agrupado con cualquier otro servicio que esté ejecutando.

En una nota al margen, si estás desarrollando un Mac, deberías pensar en usar un mejor editor de texto como TextMate o TextWrangler o Sublime Text, algunos de estos incluso agregan el servicio para que ahorres todo lo que haces. arriba.

    
respondido por el JamiePatt 14.08.2012 - 00:06
7

Puede agregar tipos de archivos admitidos por editando Info.plist , pero no conozco ninguna forma de hacerlo para todos los tipos de archivos. La adición de UTI como public.data o public.item a un Info.plist o com.apple.LaunchServices.plist no parece funcionar.

He usado duti para hacer de TextMate la aplicación predeterminada para diferentes tipos de texto sin formato:

# 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 no admite solo la adición de aplicaciones para abrir con los menús sin hacer que sean predeterminadas.

    
respondido por el user495470 01.09.2012 - 09:17
2

Aquí hay una adaptación de la respuesta aceptada de @ JamiePatt, usando mejora , con la adición de que hará de TextEdit la aplicación predeterminada para abrir el archivo antes de abrirlo. Esto significa que, en el futuro, el archivo se puede abrir de forma ordinaria.

  1. Verifique el código hexadecimal ejecutando xattr -p com.apple.LaunchServices.OpenWith <file> , donde "archivo" es un archivo que ha configurado manualmente para abrir con TextEdit.

  2. Abra Automator y elija el tipo de "Servicio" para su documento.

  3. En el menú desplegable "El servicio recibe una selección", selecciona "archivos o carpetas".

  4. Agregue el paso "Utilidades - > Establecer valor de variable". Debería ver una variable llamada "Almacenamiento".

  5. Agrega el paso "Utilidades - > Ejecutar script de shell". Bajo el menú desplegable "pasar entrada", seleccione "como argumentos". Reemplace el contenido del campo de texto con el siguiente, asegurándose de que el código hexadecimal sea el mismo que el que recibió en el primer paso.

    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. Agrega el paso "Utilidades - > Obtener valor de la variable". Debería ver una variable llamada "Almacenamiento".

  7. Agrega el paso "Archivos y carpetas - > Abrir elementos del Finder". En la lista desplegable "Abrir con", selecciona "TextEdit".

  8. Guarde con un nombre memorable, como TextEditify.

La primera vez que desee abrir un documento que no sea TextEdit, deberá seleccionar TextEditify en el menú del botón derecho. Las aperturas subsiguientes pueden suceder de la manera normal.

Explicación del guión:

El primer comando xattr agrega el atributo que generalmente se guarda si selecciona "siempre abrir con" manualmente.

El segundo comando xattr se asegura de que esto funcione con los archivos descargados de Internet.

    
respondido por el yodie 16.01.2018 - 13:09
1

Puede crear un flujo de trabajo del menú Servicio como describe influjamie. Sin embargo, solo puede usar la opción 'Abrir elementos del Finder' y agregar TextEdit como la aplicación.

Hay una buena publicación al respecto here , que explica cómo crear el flujo de trabajo con más detalle.

    
respondido por el user48595 02.05.2013 - 20:39
-3

Simplemente use la opción "-e" para abrir con TextEdit: abra -e yourfile.whatever y lo abrirá en TextEdit.

    
respondido por el Psy 18.07.2014 - 22:00

Lea otras preguntas en las etiquetas