Crear un nuevo archivo (.txt) en Finder - Atajo de teclado

24

Quería saber si hay forma de establecer atajos de teclado para crear nuevos archivos en Finder. Por ejemplo, de manera predeterminada, puede crear una nueva carpeta con CMD+ Shift+ N. ¿Hay un atajo de teclado para crear un nuevo archivo de texto? Soy programador, así que esto sería extremadamente útil

También me interesaría crear otro tipo de archivo utilizando métodos abreviados de teclado.

Intenté usar el automatizador, pero lo encuentro bastante confuso y no estoy seguro de cómo conectarle un atajo de teclado.

Acosar
fuente

Respuestas:

21

Bueno, aquí tienes un AppleScript para eso.

Primero, cree el AppleScript:

  1. Automatizador abierto
  2. Crea una acción rápida
  3. Establezca la entrada en sin entrada
  4. Arrastre y suelte el elemento de flujo de trabajo Ejecutar AppleScript en el espacio gris.
  5. Pegue el código de abajo en el AppleScript
  6. Guarde el flujo de trabajo como Crear nuevo archivo
    Si tiene iCloud Drive activado, asegúrese de guardar el archivo Library/Services/en su Carpeta personal.

try
  tell application "Finder" to set the this_folder ¬
   to (folder of the front window) as alias
on error -- no open folder windows
  set the this_folder to path to desktop folder as alias
end try

set thefilename to text returned of (display dialog ¬
 "Create file named:" default answer "filename.txt")
set thefullpath to POSIX path of this_folder & thefilename
do shell script "touch \"" & thefullpath & "\""

Para agregarlo como acceso directo:

  • Vaya a Preferencias del sistema -> Teclado -> Accesos directos -> Servicios
  • Desplácese hacia abajo hasta encontrar el servicio Crear nuevo archivo
  • Asigne un acceso directo a él haciendo clic en el lado derecho ninguno , que se convierte en a Add Shortcut.
    Haga clic en el botón y escriba el acceso directo que desea utilizar.
    Yo uso ⌘ Command+ ⌥ Option+N
rwenz3l
fuente
2
No entiendo cómo establecer un acceso directo a este script específico a través de la pestaña de servicios
Harry,
Agregué una forma más detallada sobre cómo agregar este script como acceso directo.
rwenz3l 05 de
Ahora debería funcionar también con carpetas vacías. Al menos me funciona. Puede escribir su archivo de plantilla dentro del script "filename.txt".
rwenz3l 05 de
Véase también superuser.com/questions/106943/...
MEMS
77
¿Por qué no tienen algo así por defecto? ¿Qué les pasa?
G.Rassovsky
11

He creado un AppleScript muy similar al de @ YoshiBotX, pero con algunas mejoras.

La idea es crear un flujo de trabajo de Automator y asignarle un acceso directo mediante los siguientes pasos:

  • Abra Automator y cree un Servicio ;
  • Establezca la entrada en sin entrada y la aplicación en Finder.app ;
  • Arrastre y suelte el elemento de flujo de trabajo Ejecutar AppleScript en el espacio gris;
  • Ponga el contenido de este AppleScript en el cuadro de texto;
  • Guarde el flujo de trabajo con un nombre razonable (como Nuevo archivo );
  • Vaya a Configuración -> Teclado -> Accesos directos -> Servicios y asígnele un acceso directo.

Ahora, vamos a mostrar el AppleScript:

set file_name to "untitled"
set file_ext to ".txt"
set is_desktop to false

-- get folder path and if we are in desktop (no folder opened)
try
    tell application "Finder"
        set this_folder to (folder of the front Finder window) as alias
    end tell
on error
    -- no open folder windows
    set this_folder to path to desktop folder as alias
    set is_desktop to true
end try

-- get the new file name (do not override an already existing file)
tell application "System Events"
    set file_list to get the name of every disk item of this_folder
end tell
set new_file to file_name & file_ext
set x to 1
repeat
    if new_file is in file_list then
        set new_file to file_name & " " & x & file_ext
        set x to x + 1
    else
        exit repeat
    end if
end repeat

-- create and select the new file
tell application "Finder"

    activate
    set the_file to make new file at folder this_folder with properties {name:new_file}
    if is_desktop is false then
        reveal the_file
    else
        select window of desktop
        set selection to the_file
        delay 0.1
    end if
end tell

-- press enter (rename)
tell application "System Events"
    tell process "Finder"
        keystroke return
    end tell
end tell

Por conveniencia, estoy poniendo este AppleScript en este GitHub Gist .

Rarylson Freitas
fuente
1
Excelente guión, gracias. Lo único que agregaría a este artículo para hacerlo más completo es la información que indica a los nuevos usuarios de Automator que el script de flujo de trabajo que crean debe guardarse ~/Library/Services. (Estaba predeterminado iCloud Drive\Automatory me llevó un poco de investigación averiguar dónde guardarlo para que aparezca en Servicios en Accesos directos de teclado).
Colin Johnston
3

Puede crear un servicio de Automator usted mismo, es bastante simple de hacer. Luego puede asignarle un atajo de teclado para que no necesite activar el servicio a través del menú de servicios (que puede hacer de todos modos).

Abra Automator y seleccione Servicio como el tipo de documento nuevo.

Configure el servicio para que no reciba ninguna entrada en Finder.app y agregue la acción Nuevo documento TextEdit al flujo de trabajo.

Flujo de trabajo

Guarde el servicio, luego abra Preferencias del sistema → Teclado → Accesos directos → Servicios donde encontrará el servicio en la lista General con el nombre que le dio al servicio cuando lo guardó.

Servicios

Agregue un atajo de teclado al servicio seleccionándolo y luego haciendo clic en 'agregar atajo'.

Aquí puede tener algunos problemas si el acceso directo ya se usa. Así que sé creativo para hacer uno que funcione para ti.

Ruskes
fuente
3

También puede asignar un acceso directo a un script como este:

tell application "Finder"
    set selection to make new file at (get insertion location)
end tell

La ubicación de inserción es el objetivo de la ventana del Finder o el escritorio.

Lri
fuente
¡Tu código es tan simple y útil! Utilizo el Automator para crear una aplicación, que solo tiene una acción: ejecutar AppleScript con su código. Luego puse esta aplicación en la barra de título del Finder. Está bien. cuando lo necesite, simplemente haga clic y se creará un nuevo archivo en la carpeta actual.
fantouch
2

terminal abierto y tipo

touch filename

o

> filename
mangas de tiro
fuente
me perdiste aquí? que hace eso
Ruskes 05 de
3
¿Podría ampliar cómo agregaría un atajo de teclado a este comando? (@Buscar See touch )
grg
1
bueno, si tienes PathFinder, esa es realmente una gran opción; D
rwenz3l
Esto funciona bastante bien con cmd2shell. Sin acceso directo, solo haga clic en el botón cmd2shell en el buscador y escriba el comando táctil.
eflat
Estaba buscando algo más compatible con el Finder en OSX.
Harry
0

Esta es una nueva publicación de una publicación que hice el año pasado. He tenido buena experiencia con lo siguiente.

Hay dos utilidades útiles que puede descargar e instalar que le permitirán crear un nuevo archivo de texto (o archivo RTF) en una carpeta actualmente abierta que está viendo usando el Finder.

Las utilidades se llaman NewTextFileHere y NewRTFHere y se pueden descargar desde

http://mac.softpedia.com/developer/Jonas-Wisser-37498.html

Los iconos para cualquiera de estas aplicaciones se pueden incluir en todas las ventanas del Finder.

Richard Fuhr
fuente
0

Una alternativa, si ya tiene BetterTouchTools (solía ser una aplicación gratuita, ahora tiene un modelo de pago de lo que desea con un período de prueba de 30 días), puede encontrar la acción "Utility Actions > Create New File in Current Folder"que hace exactamente esto, con un emergente para que pueda elegir el nombre. Asigne el acceso directo que desee (elegí Opción + Mayús + N) y listo.

Zequez
fuente
0

En caso de que esté utilizando MacVim, hay una opción debajo Finder -> Servicespara crear un nuevo búfer vim:

ingrese la descripción de la imagen aquí

He asignado esto al atajo ShiftcmdMen System Preferences -> Keyboard -> Shortcuts:

ingrese la descripción de la imagen aquí

tidbeck
fuente