Crea un nuovo file (.txt) nel Finder - Scorciatoia da tastiera


24

Volevo sapere se esiste un modo per impostare le scorciatoie da tastiera per creare nuovi file nel Finder. Ad esempio, per impostazione predefinita, è possibile creare una nuova cartella utilizzando CMD+ Shift+ N. Esiste una scorciatoia da tastiera per creare un nuovo file di testo? Sono un programmatore, quindi sarebbe estremamente utile

Sarei anche interessato a creare un altro tipo di file usando le scorciatoie da tastiera.

Ho tentato di utilizzare l'automazione ma lo trovo abbastanza confuso e non sono sicuro di come collegare una scorciatoia da tastiera ad esso.

Risposte:


21

Bene, eccoti qui con un AppleScript per questo.

Innanzitutto, crea AppleScript:

  1. Apri Automator
  2. Crea un'azione rapida
  3. Impostare l'ingresso su nessun ingresso
  4. Trascina e rilascia l' elemento Esegui flusso di lavoro AppleScript nello spazio grigio.
  5. Incolla il codice dal basso in AppleScript
  6. Salva il flusso di lavoro come Crea nuovo file
    Se iCloud Drive è attivato, assicurati di salvare il file Library/Services/nella cartella Home.

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 & "\""

Per aggiungerlo come scorciatoia:

  • Vai a Preferenze di Sistema -> Tastiera -> Tasti di scelta rapida -> Servizi
  • Scorri verso il basso fino a trovare il servizio Crea nuovo file
  • Assegnare una scorciatoia facendo clic sul lato destro nessuno , che si trasforma in a Add Shortcut.
    Fare clic sul pulsante e digitare il collegamento che si desidera utilizzare.
    Io uso ⌘ Command+ ⌥ Option+N

2
Non capisco come impostare questa scorciatoia per questo specifico script attraverso la scheda servizi
Harry,

Ho aggiunto un modo più dettagliato su come aggiungere questo script come scorciatoia.
rwenz3l,

Ora dovrebbe funzionare anche con cartelle vuote. Almeno funziona per me. Puoi scrivere il tuo file modello nello script "nomefile.txt".
rwenz3l,


7
Perché non hanno qualcosa del genere per impostazione predefinita? Qual è il problema con loro?
G.Rassovsky,

11

Ho creato un AppleScript molto simile a quello di @ YoshiBotX, ma con alcuni miglioramenti.

L'idea è di creare un flusso di lavoro di Automator e assegnare un collegamento ad esso utilizzando i seguenti passaggi:

  • Apri Automator e crea un servizio ;
  • Impostare l'input su nessun input e l'applicazione su Finder.app ;
  • Trascina e rilascia l' elemento Esegui flusso di lavoro AppleScript nello spazio grigio;
  • Inserisci il contenuto di questo AppleScript nella casella di testo;
  • Salva il flusso di lavoro con un nome ragionevole (come Nuovo file );
  • Vai su Impostazioni -> Tastiera -> Tasti di scelta rapida -> Servizi e assegna un collegamento ad esso.

Ora, mostriamo 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

Per comodità, sto inserendo questo AppleScript in questo GitHub Gist .


1
Ottima sceneggiatura, grazie. L'unica cosa che aggiungerei a questo articolo per renderlo più completo è l'informazione che indica agli utenti più recenti di Automator che lo script del flusso di lavoro che creano deve essere salvato ~/Library/Services. (Il mio default era attivo iCloud Drive\Automatore mi ci è voluto un po 'di ricerca per capire dove salvarlo in modo che comparisse in Servizi in Scorciatoie da tastiera.)
Colin Johnston

3

Puoi creare tu stesso un servizio di automazione - è piuttosto semplice da fare. Quindi è possibile assegnare una scorciatoia da tastiera in modo che non sia necessario attivare il servizio tramite il menu dei servizi (cosa che si può fare comunque).

Apri Automator e seleziona Servizio come tipo di nuovo documento.

Impostare il servizio per non ricevere input in Finder.app e aggiungere l'azione Nuovo documento TextEdit al flusso di lavoro.

Flusso di lavoro

Salvare il servizio, quindi aprire Preferenze di Sistema → Tastiera → Scorciatoie → Servizi dove troverai il servizio elencato in Generale con il nome che hai dato per il servizio quando lo hai salvato.

Servizi

Aggiungi una scorciatoia da tastiera al servizio selezionando il servizio quindi facendo clic su "aggiungi scorciatoia".

Qui potresti avere dei problemi se il collegamento è già utilizzato. Quindi diventa creativo per crearne uno che funzioni per te.


3

Puoi anche assegnare un collegamento a uno script come questo:

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

La posizione di inserimento è la destinazione della finestra del Finder in primo piano o del desktop.


Il tuo codice è così semplice e utile! Uso Automator per creare un'applicazione, che prevede un'unica azione: eseguire AppleScript con il codice. Quindi ho inserito questa applicazione nella barra del titolo del Finder. Va bene. quando ho bisogno, basta fare clic e verrà creato un nuovo file nella cartella corrente.
fantouch,

2

terminale aperto e digitare

touch filename

o

> filename

mi hai perso qui? che cosa fa?
Ruskes,

3
Potresti espandere come aggiungere una scorciatoia da tastiera a questo comando? (@Buscar See touch )
grg

1
bene se hai PathFinder - questa è davvero un'ottima opzione; D
rwenz3l

Funziona abbastanza bene con cmd2shell. Nessun collegamento, ma fai clic sul pulsante cmd2shell nel Finder e digita il comando touch.
eflat,

Stavo cercando qualcosa di più compatibile con il Finder in OSX.
Harry,

0

Questa è una ripubblicazione di un post che ho pubblicato l'anno scorso. Ho avuto una buona esperienza con quanto segue.

Esistono due utilità utili che è possibile scaricare e installare che ti permetteranno di creare un nuovo file di testo (o file RTF) in una cartella attualmente aperta che stai visualizzando utilizzando il Finder.

Le utility si chiamano NewTextFileHere e NewRTFHere e possono essere scaricate da

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

Le icone per una di queste app possono quindi essere incluse in tutte le finestre del Finder.



0

Un'alternativa, se hai già BetterTouchTools (era un'app gratuita, ora ha un modello pay-what-you-want con un periodo di prova di 30 giorni), puoi trovare l'azione su "Utility Actions > Create New File in Current Folder"cui fa esattamente questo, con un pop-up per permetterti di scegliere il nome. Assegna il collegamento desiderato (ho scelto Opzione + Maiusc + N) e sei a posto.


0

Nel caso in cui si utilizzi MacVim , è disponibile un'opzione Finder -> Servicesper creare un nuovo buffer vim:

inserisci qui la descrizione dell'immagine

Ho mappato questo al collegamento ShiftcmdMin System Preferences -> Keyboard -> Shortcuts:

inserisci qui la descrizione dell'immagine

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.