Snippet, comandi e macro
Inserisci testo riutilizzabile, esegui trasformazioni shell controllate e registra azioni di modifica ripetibili.
MeatPad 0.31.4 · Pubblicato il 13 ottobre 2026 · Verificato il 20 ottobre 2026
Questa guida è in italiano. Le schermate mostrano l’interfaccia italiana di MeatPad 0.31.4; i nomi di menu e pulsanti nelle procedure restano in inglese. Video, anteprime e trascrizioni rimangono in inglese.
Creare e inserire uno snippet#
- Apri Settings → Snippets. Seleziona uno snippet integrato per esaminarne trigger e ambito linguistico.
- Scegli Duplicate as editable copy per personalizzare uno snippet integrato oppure Add snippet per crearne uno.
- Compila Name, Trigger e Body; espandi Languages per scegliere un ambito; scegli Save. Nessun linguaggio selezionato significa tutti i linguaggi.
- Attiva un editor e scegli Commands → Insert Snippet, poi lo snippet. Puoi anche espandere il trigger con Tab quando corrisponde.
- Usa Tab / Shift-Tab per spostarti tra i segnaposto ed Escape per terminare la sessione dello snippet.
Il corpo degli snippet supporta punti di tabulazione numerati come $1, segnaposto come ${1:name} e una posizione finale $0. Sono supportati segnaposto annidati e punti numerati ripetuti (specchi). Usa caratteri di escape per dollari letterali, barre inverse o parentesi graffe di chiusura nella sintassi degli snippet. Le trasformazioni regex come ${1/…/…/} non sono supportate. Una copia utente con lo stesso trigger e ambito linguistico può prevalere su uno snippet integrato. Gli integrati sono di sola lettura; elimina la copia utente per rimuovere la personalizzazione.
Salvare ed eseguire un comando shell#
- Apri Settings → Commands e scegli Add command.
- Imposta Name e Script. Scegli Input: None, Selection o Document.
- Scegli Output: Replace Selection, Insert at Caret, New Note o Output Panel. Imposta un Key Equivalent se necessario.
- Controlla il timeout (predefinito 30 secondi), Restricted environment e la sezione espandibile Languages per l’ambito, poi scegli Save.
- Attiva un editor e scegli il comando dal menu Commands. Controlla il testo prodotto o il pannello di output. Scegli Cancel Command per interrompere un’esecuzione attiva. Per una prova sicura, seleziona
helloin testo di prova ed eseguitr a-z A-Zcon input Selection e output Replace Selection; solo quella selezione diventaHELLO.
Per una trasformazione estemporanea, scegli Commands → Filter Through Command… (⌥⌘R). L’input Selection senza selezione riceve l’intero documento; Replace Selection senza selezione sostituisce l’intero documento. I comandi agiscono sulla selezione corrente, non su ogni cursore, e ne viene eseguito solo uno alla volta. Comandi falliti, stderr o timeout inviano l’output al pannello anziché sostituire il testo; nelle finestre delle note viene usata invece una nuova nota. I comandi sono veri script shell: possono leggere, modificare o inviare dati in base al contenuto e ai tuoi permessi. Restricted environment mantiene il contesto TM_* più PATH, HOME, SHELL, LANG e TMPDIR al posto dell’intero ambiente ereditato; non è una sandbox di sicurezza macOS. Evita scorciatoie già assegnate ai menu standard; i conflitti vengono segnalati in Settings.
Filtrare testo con un comando shell occasionale#
- Seleziona del testo di prova nell’editor attivo.
- Scegli Commands → Filter Through Command… (⌥⌘R).
- Inserisci
sort -uin Shell command per ordinare le righe selezionate e rimuovere duplicati, oppure inserisci una trasformazione che hai controllato. - Scegli Input (None, Selection o Document) e Output (Replace Selection, Insert at Caret, New Note o Output Panel).
- Scegli Run e controlla il risultato oppure Cancel per chiudere senza eseguire. La finestra ricorda l’ultimo comando e le modalità scelte.
Selection/Replace Selection senza selezione significa l’intero documento. Output Panel apre una nuova nota quando viene eseguito da una finestra di nota. Il pannello di output del progetto mostra stato e output e offre Cancel per un processo in esecuzione e Close output panel. Un comando scritto è considerato attendibile per paternità, quindi controllalo prima di premere Run.
Usare il contesto dell’editor in uno script di comando#
I comandi salvati ricevono variabili di contesto in stile TextMate quando quel contesto esiste. Usale negli script con le normali regole di quoting della shell e non dare per scontato che i valori riservati ai progetti esistano in una finestra di nota.
| Variabile | Contesto |
|---|---|
| TM_SELECTED_TEXT | Testo attualmente selezionato, se presente |
| TM_FILE_PATH / TM_DIRECTORY | File di progetto attivo e directory che lo contiene |
| TM_PROJECT_DIRECTORY | Radice del progetto |
| TM_LINE_NUMBER / TM_COLUMN_NUMBER | Riga e colonna correnti |
| TM_CURRENT_LINE / TM_CURRENT_WORD | Testo intorno al cursore |
| TM_MODE | Identificatore del linguaggio corrente |
L’impostazione Input del comando controlla lo standard input separatamente da queste variabili. Restricted environment limita i valori ereditati mantenendo il contesto supportato; non blocca operazioni su file o rete.
Importare un bundle e controllare l’attendibilità dei comandi#
- Nelle impostazioni Snippets o Commands scegli Import Bundle… e seleziona una directory TextMate
.tmbundle. Le vociSnippets/*.tmSnippeteCommands/*.tmCommandvengono importate quando compatibili. - Leggi il rapporto di importazione, inclusi gli elementi ignorati. L’importazione aggiunge snippet e comandi supportati; non promette di convertire ogni funzione del bundle.
- Controlla script, input e output di ogni comando importato prima di eseguirlo. I comandi importati partono come non attendibili.
- Alla prima esecuzione, leggi la conferma. Nelle impostazioni Commands, fai clic destro su un comando per Trust o Revoke Trust.
Scegli Run Once per una singola esecuzione senza memorizzare l’attendibilità oppure Trust and Run per ricordarla. I comandi scritti da te partono come attendibili. L’attendibilità elimina conferme future; non rende innocuo uno script. Importare snippet e comandi non equivale a ripristinare una libreria MeatPad completa. I temi hanno un proprio controllo di importazione.
Registrare, ripetere e salvare azioni di modifica#
- Attiva l’editor in cui registrare. Scegli Commands → Start Recording Macro (⌥⌘M).
- Esegui la sequenza di modifiche da ripetere.
- Scegli Stop Recording (la stessa scorciatoia ⌥⌘M).
- Posiziona il cursore nella destinazione desiderata e scegli Replay Last Macro (⇧⌘M). Controlla il risultato.
- Scegli Save Last Macro As…, inserisci un nome e salva. Le macro salvate appaiono nel menu Commands per usi successivi.
Le macro registrano gli eventi da tastiera dell’editor supportati; azioni del mouse e scorciatoie intercettate dai menu (come ⌘D) non vengono registrate. Non registrano finestre arbitrarie dell’app, procedure con il mouse, sessioni shell o altre applicazioni. Prova una macro su testo sacrificabile prima di applicarla a lavoro importante.

Trascrizione della registrazione
Focus the project editor. Press Command-Option-M to start recording. Type a Review complete comment. Press Command-Option-M to stop. Press Command-Shift-M to replay; verify the comment appears twice.