Guida di LightNote
Editor leggero di codice e note per Windows. La barra laterale elenca le sezioni e segue ciò che stai leggendo; i pulsanti Home e Indietro in alto nella finestra riportano all'inizio, e il campo Cerca cerca nel testo di questa guida (Invio avanza; F3 / Shift+F3 navigano). Premi F1 in qualsiasi momento per aprire questa guida direttamente alla sezione della schermata attuale.
Indice
Modifica
- Panoramica
- Spazio di lavoro e finestre
- Editor di codice
- Markdown e wikilink
- Diagrammi (Mermaid)
- Matematica e chimica (LaTeX)
- Calendario nella nota
- Numerazione e riferimenti incrociati
- Citazioni e riferimenti
- Grafo delle connessioni
- Tabelle (Parquet, CSV, JSON, Excel)
- Area di analisi: tabella pivot e più grafici
- PDF e immagini
- Immagini: annotare uno screenshot
- Pagine HTML (.html)
- Stampa
- Zip come cartella (.zip)
- Blocchi (.lnb)
- Attività (Kanban / Gantt)
- Tabella personalizzata (.lnd)
- Base (query salvate sulle note)
Strumenti
- Ricerca nei file ed elementi in sospeso
- Versionamento (Git semplificato)
- Snapshot e backup
- Revisione modifiche (checkpoint)
- Confronta file (diff)
- Esegui codice (F5)
- Terminale e CLI di IA
- Assistente IA sulla selezione (Ctrl+K / Ctrl+I)
- Sessioni IA
- Chat IA
- Test di API HTTP (.lnh)
- Database (.lnc)
- Connessione SSH (.lns)
- Sicurezza: Passphrase, PIN e Markdown Sicuro
- Note giornaliere, cattura rapida e tray
- Ritrova le note vecchie
- Le tue note sul telefono
- Registrare audio (voce, riunione) con trascrizione IA
- Note adesive
- Calendario
- Tavolozza comandi
Automazione (IA / script)
Riferimento
- Impostazioni e temi
- Modalità portatile: i dati accanto al programma
- Scorciatoie da tastiera
- Licenza, edizioni e comunità
Panoramica
LightNote apre una cartella come Spazio di lavoro e mostra l'albero dei file a sinistra, le schede di modifica a destra e la barra di stato in basso. La piccola striscia in cima alla barra laterale passa tra le sezioni Esplora risorse (albero), Ricerca, Versionamento (Git), Cronologia file e Elementi in sospeso (TODO/FIXME e attività dalle note).
Oltre a codice e note, apre e modifica molti formati nel posto giusto: tabelle
(Parquet/CSV/JSON tramite DuckDB ed Excel .xlsx), PDF, immagini
(incluse GIF animate), .zip come cartella, notebook Blocchi
(.lnb), bacheche Attività (.lnt), tabelle
personalizzate (.lnd), connessioni a database
(.lnc) e connessioni SSH (.lns). C'è un
terminale integrato, una ricerca globale (ripgrep), un versionamento Git
semplificato, l'integrazione con le CLI di IA, un server MCP e una
riga di comando (lnote) per l'automazione.
Sei nuovo qui? Il materiale introduttivo (lo spazio di lavoro di benvenuto) resta disponibile in qualsiasi momento in Aiuto → Riapri il tour di benvenuto.
Spazio di lavoro e finestre
La cartella radice e la finestra
La cartella radice aperta è il tuo Spazio di lavoro. Aprirla non crea nulla; quando la chiudi, LightNote scrive solo un piccolo file di sessione (schede aperte e posizione). Lo spazio di lavoro diventa un "progetto" — con una configurazione persistente propria — solo quando abiliti il Versionamento (Git) o l'MCP in Strumenti → Impostazioni dello spazio di lavoro.
Le Impostazioni generali si applicano a tutta l'applicazione; le Impostazioni dello spazio di lavoro si applicano solo alla cartella aperta. Configurazione e stato risiedono in un database centrale, non sparsi nella cartella.
LightNote gira come istanza singola: aprire una seconda cartella
riutilizza il processo (multi-finestra, meno memoria). C'è un'icona nel
tray e un launcher con un campo di ricerca che elenca gli Spazi
di lavoro (fissa i tuoi preferiti in cima tramite il menu contestuale) — vedi
Note giornaliere e tray. Ogni scheda può ricevere
un'etichetta di colore tramite il menu contestuale della barra delle
schede. Per note ripetitive, crea una cartella Modelos (o
Templates) nella radice dello spazio di lavoro, con file .md e usa
File → Nuova nota da modello… Quattro modelli accademici sono già pronti nello stesso elenco — Articolo accademico, Scheda di lettura, Quaderno di laboratorio e Protocollo dell'esperimento: sceglierne uno scrive il .md in quella cartella, e da lì in poi è tuo.
Organizzare e scrivere modelli. Le sottocartelle di Templates diventano categorie: Lavoro/Riunione.md appare come Lavoro/Riunione, ed è questo il nome che una cartella registra quando adotta il modello. I campi {{title}}, {{date}}, {{time}} e {{date:dd/MM/yyyy}} vengono compilati alla creazione — il titolo è il nome della nota, e rinominarla subito dopo averla creata, prima di scriverci, rifà il titolo — e nulla viene sostituito dentro il codice (tra apici inversi o in un blocco), così un modello può insegnare la propria sintassi. In un modello appaiono segnati come i campi da compilare, con lo stesso sfondo — nell’editor formattato, con il bordo pieno della sintassi —, e in una nota comune non prendono colore, perché lì non fanno nulla. Il frontmatter del modello passa nella nota, tranne description:, che descrive il modello, e citation-style:, che appartiene alla cartella. Modelli e prompt (la cartella Prompts/) sono strumenti, non contenuto: restano fuori dalla ricerca per significato e dal contesto della Chat IA, e le etichette e gli aliases: dichiarati in essi non contano — la ricerca di testo continua a trovarli entrambi. Con un modello aperto, una striscia in cima all’editor dice che lo è e offre Inserisci campo, Mostra sintassi e l’Anteprima — la nota così come nasce adesso. La Libreria di modelli (in Strumenti, la stessa che apre File → Nuova nota da modello…) li elenca tutti con la ricerca per nome e descrizione, li raggruppa per sottocartella e mostra l’anteprima; lì si crea anche un modello nuovo — anche dalla nota aperta, il cui titolo e la data di oggi diventano campi. La libreria porta anche un gruppo Dal sito: modelli che pubblichiamo, nella lingua dell’interfaccia, recuperati solo quando la apri. Importare è una copia — il modello diventa un file tuo in Templates, e dopo nulla lega i due: un modello corretto sul sito non insegue quello che hai già importato, e un modello tuo con lo stesso nome vince sempre. Senza connessione la libreria dice che non è riuscita a recuperarli e continua a mostrare quello che è già su questa macchina.
Campi da compilare. Un modello può lasciare dei buchi: {{ask:Argomento della riunione}} è un campo libero e {{choice:bozza|revisione|finale}} è un elenco. Non vengono sostituiti alla creazione: la nota nasce con essi segnati nel testo, ed è questo che li fa valere anche nella Nota di oggi, in lnote e nell’MCP, dove non c’è schermo per chiedere nulla. In una nota, l’editor formattato mostra ogni campo come un’etichetta dal bordo tratteggiato attorno alla sua dicitura (la domanda, o la prima opzione); facendo clic si seleziona il campo per intero, e il tasto successivo lo sostituisce. In un campo di scelta il clic apre anche l’elenco: scegliere un’opzione scambia il campo con essa, e chiudere l’elenco senza scegliere lascia il campo selezionato, pronto per scrivere altro. Alla creazione della nota il cursore si posa già sul primo campo; da lì Tab e Shift+Tab passano da un campo all’altro — la barra di stato dice su quale ti trovi —, Alt+↓ apre l’elenco di una scelta da tastiera, e Esc (o uscire dalla riga del campo) restituisce al Tab il suo ruolo di sempre. Nel modello stesso Mostra sintassi è attivo: i campi appaiono come {{…}} con bordo pieno e il clic mette il cursore al loro interno, per correggere la domanda o le opzioni; disattivato, il modello appare come la nota che ne nascerà. I sei campi sono anche nel menu / e in Inserisci → Campi del modello — solo nei file di modello. Nell’editor di testo il campo appare così com’è nel file, con le graffe colorate, e il correttore non ci entra.
Creare file
Creare un file scegliendo il tipo. Il menu Nuovo (☰ File, il pulsante Nuovo della barra delle attività o Crea nuovo nel menu contestuale di una cartella) offre Nuova nota (.md), Nuovo file di testo (.txt) e il sottomenu Nuovo file di codice con i linguaggi più usati. In tutti i casi il file nasce subito su disco con un nome predefinito e l'albero apre la modifica del nome: è preselezionato solo il nome, quindi digitare un titolo non cancella l'estensione. Per accettare il nome suggerito basta fare clic nell'editor e iniziare a scrivere. Per un'estensione fuori dal sottomenu, crea un file e rinominalo (F2): cambiare l'estensione cambia la vista — rinominare .txt in .md riapre la stessa scheda come nota, con la vista di lettura e il sommario, e viceversa torna l'editor di codice. Le estensioni proprie di LightNote (.lnc, .lne, .lnq, .lnh, .lns e i bundle) fanno eccezione: lì l'estensione dichiara il formato del contenuto, perciò rinominare chiede conferma ed è rifiutato finché la scheda è aperta.
File nuovo che non hai usato. Se chiudi la scheda di un file appena creato senza dargli un nome, senza salvarlo e senza scrivere nulla, finisce nel Cestino e la barra di stato offre Annulla: così un Nuovo premuto per sbaglio non lascia tracce nella cartella. Qualsiasi segno che il file è tuo lo rende permanente: rinominarlo, salvarlo (Ctrl+S) o scriverci qualcosa.
Il blocco per appunti è un editor Markdown. La scheda Appunti (che non è un file su disco) usa lo stesso editor di testo delle note: evidenziazione del markup, correttore ortografico, completamento di [[ e Ctrl+clic su wikilink ed etichette. Ciò che non ha resta uguale: non c'è un file, quindi niente salvataggio automatico né modalità di visualizzazione; il contenuto sopravvive alla chiusura dell'app e sparisce se chiudi la scheda.
Dove viene creato il nuovo file. Nuovo crea sempre nella cartella contrassegnata dell'Esploratore, e ce n'è sempre esattamente una contrassegnata. In cima all'albero c'è la riga della cartella radice, con il nome dello spazio di lavoro: è un elemento come gli altri — fai clic su di essa per riportare la destinazione alla radice. Selezionare una cartella vi sposta il contrassegno; selezionare un file contrassegna la cartella che lo contiene. Nella modalità Elenco, che non mostra cartelle, il contrassegno resta sulla riga radice ed è quella riga a mostrare la destinazione effettiva. Il menu contestuale della riga radice offre Crea nuovo e Crea cartella.
File sciolti e preferiti
Per aprire un file sciolto senza trasformarlo in uno spazio di lavoro, usa Apri file sciolto… (menu del tray): la finestra autonoma mostra l'albero dei file, ma senza Git, MCP o override del tema. Se abilitato in Impostazioni → Generale → Funzionalità, LightNote si integra nel menu di Esplora file di Windows (per utente, senza bisogno di amministratore): oltre all'elenco "Apri con", il menu contestuale guadagna "Apri con LightNote" su qualsiasi file e "Apri come spazio di lavoro LightNote" sulle cartelle (su Windows 11, in Mostra altre opzioni). I file si aprono in quella finestra autonoma; le cartelle come spazio di lavoro.
Selezionando più file insieme in Esplora file di Windows — anche da cartelle diverse — si aprono tutti nella stessa finestra autonoma, scheda accanto a scheda (invece di una finestra per file). Le schede di quella finestra vengono ricordate: chiudendola e riaprendola, gli stessi file tornano. Poiché qui contano le schede, l'albero dei file parte richiuso: usa Ctrl+B (o il pulsante in cima alla barra delle attività) per mostrarlo.
Tornare a una sessione. La finestra dei file singoli si chiama File singoli ovunque — compresa la barra del titolo, dove le altre finestre mostrano il nome dello spazio di lavoro, così le distingui in Alt+Tab. Nel menu dell'area di notifica, in Apri, la voce riceve il suffisso (N schede) quando ci sono schede salvate — un clic le riporta tutte. È anche la prima riga del launcher, accanto agli spazi di lavoro. E riaprendo LightNote torna tutto ciò che era aperto quando sei uscito: ogni finestra nella sua cartella, più la finestra singola. Se preferisci aprire solo l'ultima cartella usata, cambialo in Impostazioni → Generale → Interfaccia → All'avvio, apri. Una finestra chiusa prima di uscire resta fuori: chiuderla è il modo di dire "ho finito con questo spazio".
Preferiti: la barra laterale ha una sezione Preferiti con ciò che hai aggiunto (menu contestuale dell'albero o di una scheda → Aggiungi ai preferiti) e i file aperti di recente. Gli elementi aggiunti sono per cartella e salvati come percorsi relativi, quindi sopravvivono allo spostamento dello spazio di lavoro.
Aprire una scheda in una finestra propria: nel menu contestuale della
scheda, Apri in una nuova finestra riapre quel file in una finestra autonoma
(comodo per tenere una nota accanto al codice). I tipi che dipendono dallo spazio di
lavoro (.lnc, .lne, .lns e i bundle) non
possono essere staccati.
Il pannello Esplora
Spostare un file con la scheda aperta. Trascinare il file nell’albero in un’altra cartella porta con sé la scheda — resta aperta, puntata sulla nuova posizione —, e lo stesso vale per taglia e incolla e per lo spostamento di una cartella intera, nel qual caso le schede dei file al suo interno la seguono. Tenendo Ctrl, il trascinamento copia invece di spostare. Fuori da LightNote il trascinamento COPIA sempre: porti un file dall’albero — o trascini la scheda stessa dalla barra delle schede — su una cartella di Windows, una e-mail o una conversazione di Teams, e l’originale resta nel suo spazio di lavoro. Dentro il programma una scheda resta solo una scheda: trascinarla in un altro pannello sposta la scheda, e passarci sopra l’editor o l’albero non scrive né sposta nulla.
Selezione multipla. L'albero accetta Ctrl+clic (singolo) e Shift+clic (intervallo) in tutte e tre le modalità di vista. Con più elementi selezionati, il menu contestuale agisce su tutta la selezione: Taglia e Copia (in interoperabilità con l'Esplora file di Windows), Elimina (una sola conferma per tutti), Duplica, Copia hash, Comprimi in .zip (un solo archivio, ogni elemento con il proprio nome in cima), Applica colore, Preferiti, Git (add/restore) e Copia percorsi (una riga per elemento). Le azioni che hanno senso solo per un elemento — rinomina in linea, Proprietà, Apri come, Converti — restano disabilitate, con il motivo nel suggerimento. Il clic destro dentro la selezione la mantiene; fuori seleziona solo l'elemento cliccato. Selezionare una cartella e qualcosa al suo interno non esegue l'operazione due volte: l'elemento interno viene scartato.
Sbirciare senza aprire. Un clic singolo su un file apre già una scheda di anteprima (riutilizzata, in corsivo nella barra delle schede). Scorrendo l'albero con le frecce, il tasto Spazio fa lo stesso e restituisce il fuoco all'albero, per continuare a scendere nell'elenco.
Strumenti file. Il menu contestuale dell'Esplora file ha il sottomenu Strumenti file: Rinomina in blocco (filtro per estensione/jolly/regex + una pipeline di regole con anteprima e rilevamento delle collisioni), Dividi file (per righe, dimensione o separatore regex), Unisci file (mantenendo solo la 1ª intestazione CSV, opzionale), Duplica, Copia hash (MD5/SHA-256) e Comprimi in .zip / Estrai qui. Con più elementi selezionati, Rinomina in blocco e Unisci file ricevono esattamente gli elementi scelti (invece di scandire la cartella) — e Unisci rispetta l'ordine della selezione.
Navigazione della finestra singola. Sopra l'albero ci sono indietro (Alt+←), avanti (Alt+→) e su, più un percorso di cartelle cliccabile — ogni segmento porta a quel livello. Anche i pulsanti laterali del mouse tornano indietro e avanti. Per digitare un percorso, fai clic nello spazio vuoto della striscia oppure usa Ctrl+L; Esc annulla e ripristina il percorso. Cambiare scheda sposta anche la cartella mostrata: poiché la finestra autonoma raccoglie schede di cartelle diverse, fare clic su una scheda porta alla sua cartella.
Menu e zoom
Menu. Il pulsante ☰ (in cima alla barra delle attività) raccoglie i menu File, Modifica, Visualizza, Finestra, Strumenti, IA e Aiuto. Le azioni di IA hanno un menu proprio (anche sul pulsante bacchetta della barra delle attività). In Strumenti i gruppi stanno in sottomenu: Esegui (F5/F6/F8, lint, invia al terminale, macro), Cattura (nota di oggi, cattura rapida, attività rapida, registra audio, note adesive) e Spazio di lavoro (configurazione, snapshot, esporta copia, sposta cartella) — quest'ultimo anche nel menu dell'ingranaggio. Il menu Nuovo è identico nei tre punti in cui compare: ☰ File, il pulsante Nuovo e Crea nuovo nel menu contestuale di una cartella.
Zoom, in qualunque vista. Il livello di zoom sta in un unico posto: il gruppo − 100% + a destra nella barra di stato. Il pulsante centrale apre l'elenco standard — Adatta alla larghezza e Adatta alla finestra (solo dove il contenuto ha una dimensione propria, come PDF e immagini), i livelli 200%, 150%, 120%, 100%, 75% e 50%, e Personalizzato… —, con un segno su quello attivo. Le scorciatoie sono le stesse in tutte le viste con zoom (codice, note, PDF, immagini, HTML e fogli di calcolo): Ctrl++, Ctrl+−, Ctrl+0 per tornare al 100% e Ctrl+rotellina. In una vista senza zoom il gruppo semplicemente non compare; sotto un adattamento l'etichetta mostra Larghezza o Finestra invece di una percentuale. Lo zoom appartiene alla scheda, non al file: una scheda rimasta inattiva a cui è stata liberata la memoria — o che è tornata riaprendo LightNote — ritorna con lo zoom che aveva; riaprire il file da zero riparte dal 100%.
Editor di codice
Aprire, evidenziare e formattare
I file di testo/codice si aprono nell'editor (Scintilla) con evidenziazione della sintassi. Sono disponibili commento/decommento (Ctrl+/), sposta e duplica riga, segnalibri (Ctrl+F2), un elenco di simboli/funzioni, autocompletamento basato sulle parole, guide di indentazione, a capo automatico, zoom e rilevamento delle modifiche al file su disco. Con il versionamento abilitato, il margine segna le righe aggiunte/modificate dall'ultima versione.
Ci sono anche le macro (registra/riproduci una sequenza di modifiche con Ctrl+Shift+R / F4, in Strumenti → Macro), formatta/abbellisci (Shift+Alt+F), una tabella ASCII sulla barra degli strumenti della scheda (per inserire caratteri/box-drawing) e un correttore ortografico (Hunspell). pt-BR e en-US sono inclusi; gli altri idiomi si scaricano su richiesta dalla tabella in Impostazioni → Note e scrittura → Ortografia (una riga per idioma, con un pulsante Scarica/Rimuovi). Per seguire un file di log mentre viene scritto, usa il pulsante Monitora (tail -f) nella barra degli strumenti della scheda stessa. I file molto grandi (oltre ~1 MB) si aprono in un editor leggero virtualizzato che carica solo i blocchi visibili; puoi forzarlo tramite File → Apri nell'editor leggero…
Formattazione e lint: Shift+Alt+F formatta il documento con il formattatore esterno del linguaggio (black, prettier, clang-format, gofmt, rustfmt…) se installato, altrimenti ricade sul formattatore interno (JSON/XML) offline; F7 esegue il linter del linguaggio (ruff, eslint, shellcheck, luacheck…) e segna i problemi con una sottolineatura nell'editor e nel pannello Problemi (pannello inferiore, navigabile). Entrambi hanno un catalogo con Aggiungi in Impostazioni → Formattazione e → Linter, oltre alle opzioni formatta al salvataggio / lint al salvataggio. Esegui il file nel pannello di output con F6 (cattura codice di uscita e durata, con stop/riavvio) o solo un frammento con F8.
Un .md aperto come codice torna a essere nota con un clic. La barra dell'editor mostra Apri come nota quando il file aperto è una nota — è l'inverso di Apri come → Codice del menu dell'albero, e riporta la scheda alla vista nota, con modifica formattata, lettura, sommario e proprietà. Il pulsante appare solo quando il cambio è possibile: una nota troppo grande resta nell'editor di codice.
Multi-cursore, cronologia e definizione
Altre funzionalità di modifica: multi-cursore per occorrenza
(Ctrl+D, tutte con Alt+F3), duplica riga (Ctrl+Shift+D),
unisci righe (Ctrl+Shift+J), espandi/riduci la selezione per ambito
(Ctrl+Shift+Space / Ctrl+Alt+Space), selezione rettangolare
(Alt+trascina), piega/espandi tutto, frammenti (snippet)
(Ctrl+J, modificabili in Impostazioni → Editor), Vai al
simbolo nel file (# nella tavolozza) e nel progetto
(Ctrl+T o ##), cronologia di navigazione
(Alt+←/→), una traccia breadcrumb in cima all'editor, righelli
di colonna, colorazione delle coppie di parentesi, chiusura/avvolgimento
automatico delle coppie e pulizia al salvataggio (rimuovi spazi, riga vuota
finale) — tutto in Impostazioni → Editor.
Cronologia locale e appunti: a ogni salvataggio, LightNote conserva una versione del file (File → Cronologia locale…, ripristinabile), indipendente da Git. Ctrl+Alt+V apre la cronologia degli appunti per incollare un elemento copiato in precedenza. Ctrl+Shift+T riapre l'ultima scheda chiusa; le schede possono essere fissate (menu contestuale), il che le protegge dall'essere rilasciate quando inattive.
Vai alla definizione: F12 o Ctrl+clic su un identificatore salta a dove è definito nel progetto; Shift+F12 trova i suoi utilizzi.
Minimap e operazioni di testo
Minimappa. Un’anteprima dell’intero documento si trova sul bordo destro dell’editor: mostra la “forma” del codice (i colori dell’evidenziazione della sintassi in scala ridotta) e segna la regione visibile. Fare clic o trascinare per spostarsi in qualsiasi punto del file. Attivala in Visualizza → Minimappa o in Impostazioni → Editor. Il pulsante Minimappa nella barra della scheda di codice (accanto ad ASCII) la attiva e disattiva senza uscire dall’editor. Sul bordo sinistro dell’anteprima corre una striscia di segni: in blu le righe con segnalibro (lo stesso pallino del margine) e in ambra le occorrenze della ricerca rapida — così vedi a colpo d’occhio come si distribuiscono nell’intero file, anche fuori dallo schermo.
Operazioni sul testo. Nel menu Modifica — e nel menu contestuale dell'editor — ci sono i sottomenu Righe (sposta, duplica, elimina, ordina, unisci, inverti, numera) e Pulizia (rimuovi spazi, righe vuote/duplicate, tabulazioni ↔ spazi). Con una selezione, il menu contestuale offre anche Salva la selezione come nuovo file…: scrive il frammento in un file accanto a quello corrente e lo apre in una scheda (l'originale non viene modificato).
Markdown e wikilink
Modalità di visualizzazione
Le note .md si aprono con editor e lettura affiancati
(configurabile). Il markup viene attenuato fuori dal paragrafo del cursore così
la pagina sembra un documento finito.
Scorciatoie: Ctrl+B/Ctrl+I applicano grassetto/corsivo e Ctrl+E alterna la modalità di visualizzazione (editor → diviso → formattata → lettura).
Il menu /: nell'editor formattato digita / a inizio riga (anche con rientro) o dopo uno spazio: l'elenco di inserimento si apre al cursore. Digita per filtrare (/tabella, /riquadro, /h1), scegli con ↑/↓ e inserisci con Invio; Esc o Spazio chiudono l'elenco e ciò che hai digitato resta come testo. La colonna di destra mostra il markup che ogni voce scrive, così la prossima volta puoi digitarlo direttamente. Il menu non si apre dentro un blocco di codice, una formula o una cella di tabella.
Modalità di lettura: l'ultima modalità di Ctrl+E è la stessa schermata della modifica formattata, ma di sola lettura — ed è per questo che può mostrare ciò che il file non ha: il sommario del token [TOC]. L'elenco della cartella del token [files] e il corpo delle note transcluse con ![[nota]] compaiono anche nella modifica formattata. Nulla di tutto ciò viene scritto nel .md: il file conserva il token e il testo generato non accetta modifiche. In questa modalità un clic semplice segue link, wikilink ed etichette (senza Ctrl), e i pulsanti che modificano restano disabilitati — compresi annulla, taglia e incolla, che prima agivano sull'editor di testo fuori dallo schermo. Copia continua a valere e copia ciò che stai vedendo. Ctrl+F cerca in ciò che è sullo schermo; la riga sostituisci resta disabilitata, con il motivo nel tooltip, perché una sostituzione qui non arriverebbe al file.
Conti con unità, in lettura. Una riga che finisce con = riceve il risultato: 3,5 km / 2 s = appare come 3,5 km / 2 s = 1,75 km/s. Il file non cambia: è la stessa idea del [TOC] e della citazione formattata. Fa analisi dimensionale, ed è lì che si giustifica: 1 km + 1 s = viene rifiutato nominando entrambi, perché una calcolatrice che rispondesse 2 non sarebbe peggiore: sarebbe una che mente, e in un quaderno di laboratorio l'errore sopravvivrebbe fino all'articolo. Sommare la stessa grandezza in unità diverse funziona e converte (2 h + 30 min =), e il risultato esce nell'unità che hai scritto. Conosce i prefissi SI, le costanti fisiche (c, h, k_B, N_A, g…), la conversione esplicita (3 km in m, anche to e ->) e l'incertezza: (2,00 ± 0,05) m / (1,0 ± 0,1) s = propaga l'errore e scrive solo le cifre che la misura permette. Codice e formule restano fuori: dentro un recinto ```, tra apici inversi o in un $…$, il = a fine riga è sintassi di altro. E una riga che non è un conto (Totale =) resta com'è, in silenzio. Arriva disattivata: attivala in Impostazioni → Funzionalità → Accademico → Calcolatrice con unità.
Carte a ripetizione dilazionata. Una nota che riceve l'etichetta #flashcards diventa un mazzo: al suo interno, ogni riga Domanda::Risposta è una carta, ::: crea anche la carta inversa, un ? da solo fra due righe fa la carta su più righe e ==così== diventa una lacuna. Senza l'etichetta, nessuna nota ha carte: è ciò che impedisce a uno std::vector di una nota di programmazione di diventare una carta che non hai scritto. Strumenti → Carte → Ripassa le carte apre la sessione: la risposta resta nascosta finché non la chiedi (è tutto il senso del ripasso — vedere le due insieme è rileggere, e rileggere non fissa niente), e le quattro valutazioni portano scritto sopra quanto tempo compra ciascuna. La pianificazione è FSRS, lo stesso algoritmo di Anki. L'identità della carta è la DOMANDA: correggere la risposta non tocca la pianificazione, e riscrivere la domanda manda in pensione quella carta e ne comincia un'altra — ed è giusto così, perché la domanda è ciò che stai imparando. Lo storico vive in un file aperto accanto alla nota (nota.md.cards.ndjson): versionabile con Git e leggibile in qualsiasi editor, al prezzo di un file in più nella cartella. Esporta in Anki scrive il file di testo che lui importa: la pianificazione non va insieme, perché l'importatore di testo di Anki non la accetta; resta nei .ndjson.
Blocchi di codice
Il blocco di codice esce colorato. Un recinto con il linguaggio dichiarato (```python) ha il contenuto evidenziato token per token, con gli stessi colori dell'editor di codice — compreso il tema di codice scelto per questa finestra. Vale nella modifica formattata, nella modalità di lettura, nel file esportato e nelle risposte di Chiedi alle note. Un recinto senza linguaggio dichiarato resta monocromatico, e anche un linguaggio senza evidenziazione disponibile: il testo non smette mai di comparire.
Piegare, fissare ed esportare
Piegare le sezioni e fissare il titolo valgono anche in modalità formattata e di lettura. Ctrl+Shift+[ comprime la sezione del cursore e Ctrl+Shift+] la espande; fare clic sulla freccetta a sinistra del titolo fa lo stesso, e Visualizza → Comprimi/Espandi tutte le intestazioni agisce sulla superficie in primo piano. Mentre scorri, le intestazioni uscite in alto restano fissate in una fascia — fai clic su una per saltare alla sua sezione. Piegare è stato di schermo: il .md non cambia e il testo compresso resta nel file.
Esportare: il PDF e l'HTML sono generati dallo stesso documento della modalità di lettura: il file ottenuto è ciò che hai appena letto, con sommario, elenco della cartella e transclusioni. L'HTML è autonomo (le immagini locali vengono incorporate) e il PDF ha testo vettoriale, quindi resta ricercabile. L'HTML esce con marcatura semantica — titolo con ancora, callout in <aside>, tabella con intestazione, nota a piè di pagina con ritorno — e le formule in MathML: testo vero, che si copia, si legge ad alta voce e non sgrana con lo zoom. Il tema segue ciascun formato: l'HTML mantiene i colori che vedi a schermo, tema scuro incluso (il file ha uno sfondo proprio); il PDF va sempre su carta chiara, perché è pensato per essere stampato e inviato: se il tuo tema di contenuto è scuro viene stampato con il tema chiaro predefinito, mentre un tema chiaro che già usi viene conservato. Word, OpenDocument, LaTeX, Typst ed EPUB li genera LightNote stesso, senza installare nulla. Il .docx e l'.odt escono con titoli, elenchi, tabelle, note a piè di pagina, immagini e le formule come equazioni modificabili: di Word nell'uno, di LibreOffice Math nell'altro; il .tex ha un preambolo completo e compila con pdfLaTeX, XeLaTeX e LuaLaTeX. Se la cartella ha una bibliografia e la sezione Accademico è attiva, il .tex esce con la citazione viva: [@chiave] diventa \autocite, il token [bibliography] diventa \printbibliography e un refs.bib con le opere citate viene salvato accanto — l'app te lo dice. Compila con biber. Il .typ è la stessa idea in Typst, che compila in pochi secondi senza una distribuzione LaTeX installata: la formula viaggia in LaTeX tramite il pacchetto mitex (scaricato alla prima compilazione) e la citazione esce come @chiave con #bibliography. L'.epub è il libro elettronico: un capitolo per titolo di livello 1, sommario di navigazione, immagini come file del pacchetto e la stessa marcatura semantica dell'HTML. L'.ipynb è il notebook Jupyter: la prosa diventa cella di testo e il blocco nel linguaggio del kernel diventa cella di codice — solo quello, perché una cella di codice viene mandata al kernel, e un diagramma Mermaid trasformato in cella verrebbe eseguito come Python alla prima esecuzione. Il kernel esce dalla chiave kernel nelle proprietà della nota, o dal blocco più frequente. L'output non viene inventato: le celle escono senza risultato, perché un risultato viene da un'esecuzione — la stessa regola che l'importazione di notebook già segue scartando gli output salvati. E c'è Markdown per…: la stessa nota nel dialetto della destinazione — avviso > [!NOTE] su GitHub, !!! note su MkDocs, :::note su Docusaurus, ::: {.note} su Pandoc, la grafia di Obsidian o CommonMark stretto. Il wikilink diventa link relativo (fuori da Obsidian) e il commento %%…%% non viene pubblicato, perché è privato. Con Typst installato (winget install --id Typst.Typst), l'esportazione offre Compila il PDF lì stesso; senza, il pulsante diventa Installa Typst..., che apre la guida. Se il corso o il cliente fornisce un modello Word, indica il suo .docx in Impostazioni dello spazio di lavoro → Citazioni e riferimenti → Modello Word: il file esportato esce con stili, formato carta, margini e intestazione del modello. Una nota può usarne un altro dichiarando reference-docx: modello.docx nelle sue proprietà. Tutti e tre partono dal Markdown della lettura — citazioni già formattate, figure numerate — e ciò che non passa viene segnalato alla fine dell'esportazione. Il diagramma Mermaid e la struttura chimica entrano come immagine — disegnati su carta chiara nel .docx, nell'.odt e nell'EPUB, con i colori dello schermo nell'HTML —; solo tramite lnote, che non ha una finestra per disegnarli, escono come blocco di codice. E c'è Testo marcato per…: reStructuredText, AsciiDoc, Org mode, MediaWiki e testo semplice, scritti anch'essi da LightNote. Ognuno riceve la propria costruzione nativa, e non un'imitazione: il riquadro diventa .. note:: in Sphinx, [NOTE] in AsciiDoc e #+begin_note in Org; la formula diventa .. math::, latexmath:[], LaTeX puro e <math>; la nota a piè di pagina diventa footnote:[] e <ref>. Il testo semplice non porta alcuna marcatura — la tabella esce allineata in colonne, per stare in un'e-mail o in un messaggio di commit. Ciò che la destinazione non ha viene segnalato alla fine: MediaWiki non ha il riquadro di avviso nel suo nucleo (diventa una citazione con l'etichetta in grassetto) e reStructuredText non ha il testo barrato. Per portare via un pezzo senza scrivere un file, il menu contestuale dell'editor ha Copia la selezione come (o Copia la nota come, senza selezione): testo formattato da incollare in Word, Google Docs o un'e-mail, Markdown di GitHub, LaTeX e Typst. LaTeX e Typst portano solo il corpo — niente preambolo né titolo —, perché la destinazione è un documento che li ha già; il pacchetto di cui il pezzo ha bisogno e la citazione che dipende dalla bibliografia della destinazione vengono segnalati nella barra di stato, e anche il commento %%…%% resta fuori. L'RTF sta in Altri formati (pandoc) e passa da pandoc, un programma a parte (winget install --id JohnMacFarlane.Pandoc): senza di esso questa destinazione appare disattivata, con il motivo, e Installa pandoc... nello stesso sottomenu apre la guida ed esegue l'installazione. Se pandoc è già installato altrove, indica il file con Ce l'ho già: individua sul disco... nella guida, oppure in Impostazioni → Strumenti di codice → Programmi esterni.
Esporta con opzioni... è la prima voce del menu di esportazione — quello della scheda e quello di File → Esporta nota sono lo stesso menu. Elenca tutte le destinazioni, con una ricerca che trova nome, uso ed estensione (wiki trova MediaWiki, sphinx trova reStructuredText), e mostra solo le opzioni valide per la destinazione scelta: Indice all'inizio, quando la nota non ha ancora un [TOC]; Lingua del documento, che decide la sillabazione e le etichette che il documento genera da sé; Citazioni vive o risolte nel testo, in LaTeX e Typst; il Modello Word, con la casella che lo rende il predefinito della cartella; le Formule di HTML ed EPUB in MathML o come immagine, per lettori di e-book datati o HTML incollato in un'e-mail; la Carta del PDF, A4 o Letter; e Compila il PDF con Typst subito dopo. Un'opzione valida ma non utilizzabile resta disattivata con il motivo — citazioni vive senza bibliografia nella cartella —, e una destinazione che dipende da un programma assente ne offre l'installazione lì stesso. L'ultima scelta viene ricordata per cartella e la finestra si riapre come l'avete lasciata; le voci dirette del menu continuano a esportare con i valori di fabbrica, così una scelta fatta settimane prima non cambia il file di una scorciatoia. Il [TOC] scritto nella nota vale in tutte le destinazioni: diventa l'indice di Word e LibreOffice (Word lo aggiorna all'apertura), \tableofcontents in LaTeX, #outline() in Typst e l'elenco di link in HTML e Markdown. Nel testo formattato di Copia la selezione come, formula e diagramma vanno come immagine, con la sorgente LaTeX come testo alternativo: lì non si sa dove il testo verrà incollato, e solo un'immagine appare uguale in Word, Google Docs e in un'e-mail — chi ha bisogno dell'equazione modificabile esporti il .docx o l'.odt.
Esce anche la cartella intera: File → Esportare la cartella... (o il tasto destro su una cartella dell'albero) trasforma le sue note in un sito HTML — una pagina per nota, con un indice quando nessuna nota è già diventata index.html —, in un insieme di .docx o .odt, o in un albero di Markdown nel dialetto della destinazione. La struttura di sottocartelle è preservata, i link e i wikilink fra le note puntano ai file usciti (anche in Word e LibreOffice, da un documento all'altro) e le immagini e gli allegati che vivono dentro la cartella vanno insieme, nello stesso posto. Ciò che è fuori non viene copiato: resta come lei l'ha scritto, e il rapporto finale elenca ogni caso, insieme ai link senza destinazione. La cartella di destinazione deve essere vuota — oppure spunti Sostituire i file con lo stesso nome — e non può contenere la cartella esportata. Senza finestra: lnote folder-export --path . --format html --out site, e lo strumento folder_export via MCP; lì la trasclusione, il [files] e la numerazione delle figure non vengono risolti, perché a risolverli è la finestra.
Modifica formattata
Modifica formattata (WYSIWYG): la quarta modalità mostra la nota
com'è resa — titolo con corpo da titolo, elenco con il suo punto, tabella come
griglia e immagine dentro il testo — invece della marcatura. Il file resta lo
stesso .md: a scriverlo è LightNote, non Qt, ed è per questo che
grassetto, corsivo, wikilink, transclusione e riquadri sopravvivono all'andata e
ritorno. Entrare nella modalità e uscirne senza modificare non cambia un byte del
file. La barra offre solo ciò che il Markdown rappresenta — titolo, grassetto,
corsivo, barrato, codice, elenchi (con casella di attività), citazione,
collegamento, tabella e linea orizzontale; allineamento, rientro e dimensione del
carattere restano fuori perché andrebbero persi al salvataggio.
Dentro una
tabella, Tab passa di cella e crea la riga successiva sull'ultima.
Invio nel vuoto accanto alla tabella — dove cade il cursore facendo
clic a destra di una riga — aggiunge una riga in fondo, con il cursore nella
prima cella.
Dentro una cella, Invio spezza la riga lì (va nel file come
<br>, l'unica forma che la tabella Markdown accetta) e
Ctrl+Invio crea la riga sotto, con il cursore nella stessa colonna.
Passando il mouse sulla tabella compaiono maniglie discrete: a sinistra
della riga, una coppia di frecce che la sposta in alto o in basso — e che si può
anche trascinare per portarla altrove; sopra la colonna, la coppia che la
sposta di lato; e un + sul bordo inferiore e un altro su quello destro,
che aggiungono riga e colonna. La prima riga è l'intestazione e non si sposta.
Tutto questo è anche nel menu contestuale, in Tabella — che porta anche
Rimuovi la tabella, il modo sicuro di toglierla tutta.
In un riquadro (<details> o :::), l'ultima
riga chiude il riquadro e non si cancella: è ciò che impedisce al contenuto
sotto di finirci dentro. Per disfarlo mantenendo il testo, usa Rimuovi il
riquadro nel menu contestuale.
Invio crea sempre una riga. In un elemento di elenco vuoto esce
dall'elenco senza aggiungere righe — come in Word — e in un paragrafo vuoto crea
la riga vuota. Una riga vuota del file è la separazione normale fra paragrafi e
non appare come riga vuota; dalla seconda in poi sì, e torna nel file com'è stata
scritta.
Trascinare il bordo destro di un'immagine la ridimensiona, e la larghezza va nel
file come . La barra ha dodici controlli: grassetto, corsivo e titolo diretti, più due menu che dividono il resto per quello che fanno — Formatta agisce su ciò che è già scritto (marcature, elenchi, citazione, allineamento della tabella e le operazioni di Testo) e Inserisci crea qualcosa di nuovo (collegamento, immagine, tabella, blocco, diagramma, formula, riquadro). Formattare la tabella e il menu Testo restano dell’editor di testo: qui appaiono disattivati, con il motivo. Attenuare la marcatura è passato al pulsante Visualizzazione, accanto alla colonna di lettura e allo scorrimento a macchina da scrivere, che valgono in tutte e quattro le modalità. E il menu Inserisci offre qui le stesse voci dell’editor di testo — evidenziazione, apice, pedice, wikilink, nota a piè di pagina, riquadro (callout), blocco comprimibile, sommario ed elenco di definizioni —, tutto ciò che questa modalità sapeva già mostrare e non sapeva creare.
Quello che mostra la modalità di lettura, ora lo mostra anche la modifica formattata. L'emoji :fire: appare come 🔥, ==evidenziato== come un segno giallo, ^2^ e ~2~ come apice e pedice, #etichetta come una pillola e un indirizzo web nudo come un collegamento. Il file conserva la forma scritta: aprire la nota non riscrive nulla. Modificare dentro un frammento rappresentato conserva la marcatura — scrivere in mezzo a un evidenziato continua a evidenziare — e ciò che si scrive subito dopo resta fuori. Il commento %%…%% resta visibile, attenuato: nasconderlo lo renderebbe invisibile e non modificabile.
I callout diventano una scatola anche nella modifica formattata. Una citazione che inizia con > [!NOTE] — o [!TIP], [!IMPORTANT], [!WARNING], [!CAUTION] — appare con barra e titolo colorati, come nella modalità di lettura: il marcatore lascia il posto all'etichetta del tipo, o al tuo titolo quando scrivi > [!TIP] Il mio titolo. Il file conserva il marcatore scritto, e modificare il titolo preserva il tipo del callout. Anche i nomi di riquadro di Obsidian e di MkDocs sono compresi: [!SUCCESS], [!ABSTRACT], [!FAILURE], [!QUESTION] e i loro alias (tldr, missing, faq) finiscono nel riquadro più vicino, così una nota arrivata da lì appare già colorata — e, esportando, ogni destinazione riceve il nome che conosce.
Questa è la modalità predefinita su un’installazione nuova. Chi usava già LightNote mantiene la modalità precedente; per cambiarla, usa Impostazioni → Markdown → Vista predefinita all’apertura di una nota. Facendo clic su un titolo nella Struttura il salto avviene all’interno della modalità corrente, senza farti uscire dalla modifica formattata né dalla lettura.
Allineare la colonna di una tabella. Con il cursore dentro la tabella, il menu contestuale offre Tabella → Allinea colonna: A sinistra, Centrato, A destra o Predefinito. L'allineamento riguarda la colonna intera — è così che Markdown lo rappresenta — e finisce nel file sulla riga separatrice (:--, :-:, --:); Predefinito torna a ---. Il segno di spunta nel menu dice quale è in vigore: sullo schermo una colonna --- e una :-- si somigliano.
La Struttura mostra ciò che è sullo schermo. L'elenco dei titoli viene dalla superficie che stai guardando: nella modifica formattata un titolo appena scritto compare subito, senza aspettare che il testo arrivi all'editor di testo; nella modalità di lettura include anche i titoli delle note incluse con ![[nota]], che fanno parte di ciò che leggi. Fare clic su una voce porta al titolo giusto in entrambi i casi. E nella modalità divisa lo scorrimento è ora a doppio senso: scorrere la lettura porta con sé l'editor di testo, come già accadeva nel verso opposto.
La marcatura diventa formato mentre digiti. Scrivere
**prova** applica il grassetto e toglie gli asterischi; lo stesso vale
per *corsivo*, ~~barrato~~, `codice` e le
forme con trattino basso. A inizio riga, da # a
###### diventano titoli, - e
1. elenchi (il numero digitato è l'inizio),
- [ ] attività con casella, > citazione,
e --- da solo diventa una linea orizzontale premendo Invio. I
marcatori che disegnano qualcosa valgono già sullo spazio; solo il titolo aspetta
la prima lettera, perché un titolo vuoto non mostrerebbe nulla. Ctrl+Z annulla solo la conversione e riporta la
marcatura letterale — la via d'uscita per chi voleva davvero gli asterischi. Anche incollare converte: un testo con marcatura incollato entra formattato, senza i marcatori. Qui la regola è più prudente che nella digitazione — scatta solo con marcatura inequivocabile — perché incollando non vedi il risultato formarsi: così un frammento di codice, pieno di * e _, resta codice. Dentro
un blocco di codice non si converte nulla, perché lì la marcatura è l'argomento.
Per disattivare tutto: Impostazioni → Generale → Converti la marcatura mentre
digiti. Da Word, da Google Docs o da una pagina, quello che arriva è il testo con la sua struttura: titolo, elenco (compreso quello di Word, che sotto non è un elenco), tabella, collegamento, codice nella riga e blocco di codice con il linguaggio. Il carattere, la dimensione e il colore dell'origine restano fuori: il Markdown non li rappresenta, e tenerli lascerebbe un tratto in Arial blu che sparisce al salvataggio. L'immagine che arriva insieme diventa un allegato della nota quando Word o il browser l'hanno lasciata nella cartella temporanea, che si svuota da sola; quella che punta a internet continua a puntarci, e il suo menu contestuale offre Scarica l’immagine nello spazio di lavoro.
Immagini, link e wikilink
Immagine e collegamento. Ci sono tre strade per inserire
un'immagine: Inserisci → Immagine… nella barra, digitare
, oppure trascinare il file dentro la nota —
un'immagine inserisce l'immagine, una nota .md inserisce un
[[wikilink]], e ogni altro file diventa un collegamento con il
nome del file come etichetta — e trascinandone diversi insieme, ognuno va sulla
sua riga. Il percorso salvato è relativo alla cartella della nota quando possibile, così
la nota continua a funzionare dopo aver spostato il vault. L'indirizzo di un
collegamento non compare nel testo (si vede l'etichetta), quindi appare nella
barra di stato al passaggio del mouse, e Ctrl+clic lo apre: un indirizzo
web va al browser, un percorso locale si apre in LightNote.
Modificare un collegamento già fatto: mettici il cursore e usa
il pulsante Collegamento (o Modifica collegamento… nel menu
contestuale) — la finestra si apre con testo e indirizzo già
compilati. Il menu contestuale su un collegamento offre anche Copia
indirizzo e Rimuovi il collegamento, che lo disfa lasciando il testo.
Su un [[wikilink]] offre Apri la nota e Copia la
destinazione; su un'#etichetta, Cerca l'etichetta e
Copia l'etichetta. Su un'immagine c'è Testo alternativo… —
invisibile nella modalità formattata, ma va nel file e nella ricerca — e, dopo
aver trascinato la maniglia, Dimensione originale, che restituisce
all'immagine la sua misura.
Su un'immagine con indirizzo web compare Scarica l'immagine nello spazio
di lavoro: il file va in Allegati/ accanto alla nota e la nota
punta lì — altrimenti dipenderebbe dall'esistenza di quella URL. E c'è la via più breve di tutte: seleziona un testo e incolla un
indirizzo — diventa [testo](indirizzo) invece di sostituire la
selezione. Vale in entrambe le superfici di modifica. Finché non viene scaricata, l'immagine dal web compare come una
scheda con l'indirizzo e il percorso del menu — LightNote non va in rete
per rendere una nota, e prima lì restava il riquadro vuoto dell'immagine rotta,
senza dire cosa fare.
E la marcatura si può annullare. Nel menu Formato le voci
Evidenziazione, Apice e Pedice appaiono spuntate quando
il cursore è dentro una di esse, e farci clic toglie la marcatura invece di
applicarla di nuovo. Da tastiera c'è la via rapida: con il cursore alla fine
di un tratto formattato, Ctrl+Shift+Backspace restituisce la marcatura
letterale meno un carattere — grassetto diventa
**grassetto* come testo normale — e completare il delimitatore mancante
la ricrea. Vale per grassetto, corsivo, barrato, codice, evidenziazione, apice e
pedice. Il Backspace da solo cancella una lettera, lì come altrove.
Modificare il diagramma senza uscire dalla nota. Un diagramma
Mermaid o una formula $$…$$ compaiono disegnati nell'editor
formattato; per raggiungere la sorgente, porta il cursore sopra e premi
Ctrl+Invio — oppure usa Modifica questo blocco… nel menu contestuale.
La barra in basso mostra il testo, la nota resta bloccata finché è aperta, e
chiuderla (✕, Esc, Ctrl+Invio, un clic sulla nota) applica: la via di ritorno
è Ctrl+Z. Nello stesso menu, Estrai in una nuova nota… scrive il tratto
selezionato in una nota accanto a questa e lascia al suo posto un
[[wikilink]] — la marcatura viene con lui, quindi titolo, elenco e
tabella arrivano interi nella nota nuova. Il campo mostra solo il contenuto: le righe ```mermaid e ``` (o i $$) sono diventate il selettore di tipo nell’intestazione della barra, che alterna anche tra diagramma, formula e blocco di codice. L’Invio mantiene il rientro della riga, che in un linguaggio rientrato come Mermaid è il gesto di ogni riga. E il menu contestuale del blocco offre Copia il codice Markdown e Copia l’immagine — il codice si incolla in qualsiasi editor Markdown e torna a disegnarsi; l’immagine si incolla in una e-mail o in una chat. Entrambi valgono anche in sola lettura.
Chiedere la modifica all'IA. Con la barra del blocco aperta, il pulsante IA nell'intestazione apre una riga in cui scrivi cosa cambiare — «aggiungi un percorso di errore che torna all'inizio», «sostituisci la somma con un integrale» — e Invio la invia. Accanto al campo, un pulsante mostra quale IA risponderà: il suo menu cambia assistente solo per questo blocco, senza toccare la tua IA predefinita, e contiene Vedi cosa verrà inviato. Vale la pena guardarlo, perché l'IA riceve il blocco, il titolo e la sezione della nota e il testo attorno — è questo che permette di chiedere che il diagramma rifletta quanto è scritto lì. La risposta entra nel campo e il disegno viene rifatto subito: Ctrl+Z riporta quello che avevi scritto. LightNote verifica la risposta con il proprio renderer e, quando non disegna, chiede una correzione indicando al modello la riga e il comando rifiutati — se fallisce anche quella, scrive la risposta lo stesso e lascia il motivo sulla barra, così sistemi le due righe a mano. Il pulsante compare solo su diagramma, formula e struttura chimica.
Puntare a una sezione, ed etichettare dalle proprietà.
[[Nota#Sezione]] apre la nota a quella sezione — l'ancora
nomina il testo del titolo — e ![[Nota#Sezione]] include solo
quella (fino al titolo successivo di livello uguale o superiore, sottotitoli
compresi). Un'ancora che non corrisponde a nessun titolo lo dice nella barra di
stato, e l'inclusione resta com'è scritta: portare lì la nota intera sarebbe
consegnare un'altra cosa in silenzio. E le tags: del frontmatter ora
contano come etichette della nota, in entrambe le grafie (tags: [a, b]
e l'elenco su righe proprie) — arrivano alle Basi, alla ricerca per etichetta e a
quello che vede l'assistente, insieme alle #etichette del corpo. Senza il nome della nota, l'ancora punta alla nota stessa: [[#Conclusione]] salta a quella sezione senza aprire nessuna scheda, e ![[#Conclusione]] porta la sezione dove sei. E le ancore si annidano: [[Tesi#Metodo#Campione]] è il Campione dentro Metodo, non il primo con quel nome nella nota. La terza forma punta a un blocco: una riga che finisce con ^id (o un ^id da solo subito sotto il blocco) è la destinazione di [[Nota#^id]]. LightNote non crea quegli identificatori: ti porta a quello che hai scritto. E l'ancora di una destinazione che non è una nota è l'indirizzo dentro di essa: [[articolo.pdf#page=3]] apre il PDF a quella pagina.
Il pannello Etichette. La striscia della barra laterale ha una sezione Etichette: l'albero di tutte le #etichette delle tue note, annidate per / (#progetto/alfa e #progetto/beta diventano rami di progetto), con il numero di note accanto — contate per nota, non per occorrenza. Selezionando un'etichetta compaiono sotto le note che la portano (un genitore mostra anche quelle dei suoi rami); doppio clic apre la nota. Il pannello legge l'indice, quindi vede entrambe le fonti: le #etichette nel corpo e i tags: nel frontmatter. Ctrl+clic su un'etichetta dentro una nota apre questo pannello con quella selezionata — prima apriva la ricerca testuale di #etichetta, che non trova la nota che la dichiara nel frontmatter. Per l'occorrenza letterale nel testo, resta la ricerca globale.
Wikilink: digita [[ per l'autocompletamento con le note
dello spazio di lavoro; il link si chiude da solo con ]]. Tieni
premuto Ctrl e clicca su un [[nota]] per aprire la nota
corrispondente. Il pannello Collegamenti mostra le connessioni tra le
note. Anche la figura incorporata di Obsidian appare: ![[foto.png]] viene disegnata come immagine, e ![[foto.png|300]] rispetta la larghezza. Il file conserva quello che hai scritto: il percorso dell'immagine non viene mai salvato al posto del token. E l’allegato che non è un’immagine diventa una scheda: ![[articolo.pdf#page=3]], ![[lezione.ogg]] e ![[mappa.canvas]] compaiono come un riquadro con il nome del file, cliccabile — e il PDF si apre alla pagina che lei ha indicato. Il .canvas e il .base di Obsidian hanno una riga in più, che dice che il file resta nella cartella e che LightNote non lo disegna. Un bersaglio che non esiste resta come lei l’ha scritto: una scheda lì prometterebbe un file perduto. A metà di una frase, la figura appare allo stesso modo e l’allegato diventa solo il nome del file, che Ctrl+clic apre: un riquadro lì spezzerebbe il paragrafo. La stessa nota con un altro nome: scriva aliases: [Campionamento, Metodo di campione] nelle proprietà della nota e [[Campionamento]] la apre — l’alias entra anche nel completamento automatico di [[. Un file con quel nome vince sempre sull’alias. Gli alias vengono dall’indice della cartella, che l’app ricostruisce in secondo piano all’apertura dello spazio di lavoro: un aliases: appena scritto si risolve alla scansione successiva, non nello stesso secondo.
Riquadri, note a piè di pagina e marcatura avanzata
Lettura ricca: i blocchi di codice recintati appaiono in un
riquadro con l'etichetta del linguaggio e un link per copiare;
~~barrato~~ e ==evidenziato== vengono renderizzati; e
i callout in stile GitHub (> [!NOTE],
[!TIP], [!WARNING], [!IMPORTANT],
[!CAUTION]) diventano riquadri colorati. I tag #hashtag
sono evidenziati e, con Ctrl+clic, aprono una ricerca per quel tag; il
blocco frontmatter YAML in cima (---) è evidenziato. Sulla
barra degli strumenti della scheda c'è un pulsante per esportare la nota
come PDF/HTML, una colonna di lettura centrata attivabile e le modalità di visualizzazione della nota. La modalità Zen (F11) e lo
scorrimento a macchina da scrivere aiutano a scrivere senza
distrazioni.
Le note a piè di pagina saltano in entrambe le direzioni. Il riferimento [^1] appare come un numero in apice, e Ctrl+clic su di esso porta alla definizione; nella definizione il marcatore [^1]: resta visibile — è il bersaglio del salto, e devi vederlo per sapere quale nota stai modificando — e Ctrl+clic su di esso torna al riferimento. A differenza di molti visualizzatori Markdown, l'editor non rinumera le note né sposta le definizioni alla fine: l'ordine del file è tuo. Anche la grafia inline di Obsidian e Pandoc — ^[il testo della nota] — viene disegnata: scrivi il testo nel punto in cui chiami la nota e, in modalità lettura, appare numerato in fondo. Il file conserva ciò che hai scritto e, all'esportazione, diventa una vera nota a piè di pagina in Word, LaTeX, Typst ed EPUB.
L'admonition di MkDocs (!!! note con il corpo indentato di 4 spazi) è conservata così com'è scritta nella modifica formattata: l'indentazione è ciò che fa appartenere il corpo all'admonition, quindi il suo testo non riceve formattazione ricca — in cambio, aprire la nota e salvarla non disfa la costruzione.
Anche le scatole con chiusura appaiono come scatola. :::tip … ::: (Docusaurus) e <details> … </details> ricevono barra e titolo colorati, in entrambe le grafie: quella compatta e quella con righe vuote. Il marcatore di apertura lascia il posto all'etichetta del tipo, al titolo che hai scritto o al testo del <summary>; quello di chiusura esce dallo schermo e resta nel file, perché il markup che l'app stessa scrive non deve restare letterale nella pagina. Quel che rimane è l'ultima riga del riquadro: è ciò che lo delimita, è dove si mette il cursore per continuare a scrivere dentro, e non si cancella — senza di essa il contenuto sotto ci finirebbe dentro. Per disfarlo mantenendo il testo, usa Rimuovi il riquadro nel menu contestuale. Il : dell'elenco di definizioni resta attenuato. Il <summary> deve stare sulla stessa riga del <details> per diventare il titolo: su una riga a sé compare così com'è scritto e la scatola mantiene l'etichetta predefinita.
HTML inline e blocco di codice. <kbd>, <mark>, <sub> e <sup> vengono resi anche nella modifica formattata: i tag spariscono e resta solo il contenuto, come nella modalità di lettura. Il blocco di codice recintato riceve una scatola, con il nome del linguaggio e un collegamento copia nell'angolo — lo stesso collegamento nella modifica formattata e nella modalità di lettura, dove si copia più codice. Prende solo il corpo del blocco (senza i marcatori) e dice copiato per un istante; entrambe le etichette compaiono solo quando ci stanno senza scrivere sopra il codice.
Altro nella lettura: il blocco frontmatter YAML iniziale non compare nella nota renderizzata — si modifica nel pannello Proprietà. I tag #hashtag diventano pastiglie cliccabili che aprono la ricerca di quel tag (come Ctrl+clic nell’editor). I commenti in stile Obsidian (%%questo resta nascosto%%, o un blocco tra righe con %%) restano solo nel file. Oltre ai callout di GitHub, vengono resi anche i riquadri dei dialetti Docusaurus (:::tip Titolo … :::) e MkDocs (!!! note "Titolo" con il corpo indentato, e ??? note) — comodo per leggere repository di documentazione.
Novità nella lettura: oltre a ~~barrato~~ e
==evidenziato==, funzionano apice ^x^, pedice
~x~, emoji abbreviate (:rocket:),
autolink degli URL, note a piè di pagina [^1],
blocchi comprimibili <details>, elenchi di
definizioni, attività - [ ]/- [x] (⬜/✅) e il token
[TOC] (sommario cliccabile nella lettura); inoltre immagini locali
e HTML inline (<kbd>, <mark>…). Il pannello
Struttura (barra della scheda) percorre i titoli seguendo il cursore, e
il pulsante Inserisci (o il menu contestuale →
Formato/Inserisci) applica qualsiasi formattazione.
Titoli, cartella e testo
Intestazioni fisse (sticky scroll): mentre scorri, le intestazioni che contengono la riga in alto restano fissate in una fascia in cima all'editor; farci clic salta a quella sezione (attivabile in Impostazioni → Markdown). Il menu contestuale di una cartella nell'albero crea/apre la Nota della cartella (index.md con frontmatter), utile come indice.
Nota della cartella ed elenco file: fare doppio clic su una cartella apre il suo index.md, se esiste. In qualsiasi nota, il token [files] (o [arquivos]) da solo su una riga viene sostituito nella modifica formattata e nella lettura con l'elenco dei file della cartella della nota, come link cliccabili — generato al volo, senza scrivere nulla nel file (come [TOC]).
Operazioni di testo e di riga. Le operazioni dell'editor di codice valgono
anche nella nota — tramite il sottomenu Testo del pulsante Formatta della barra della scheda, il menu
contestuale e i sottomenu Righe e Pulizia del menu Modifica:
sposta la riga (o le righe selezionate) su/giù (Ctrl+Shift+↑/↓),
duplica (Ctrl+Shift+D), elimina (Ctrl+Shift+L),
ordina (A→Z / Z→A), inverti l'ordine, unisci righe, rimuovi
righe duplicate o vuote, rimuovi spazi e maiuscole/minuscole (e
inverti). Numera righe… apre una finestra con inizio, passo,
zeri iniziali e separatore — con il valore predefinito
(". ") si ottiene un elenco numerato Markdown valido. Con una selezione
l'operazione agisce solo su di essa (estesa a righe intere); senza selezione,
sull'intero documento — sempre un unico passo di annullamento. La barra della scheda offre anche il pulsante IA: Chiedi / Modifica con l'IA — gli stessi Ctrl+K / Ctrl+I del codice — e Chiedi alle note, la chat che risponde usando le note dello spazio di lavoro.
Intestazioni comprimibili: fai clic sulla freccetta a sinistra di un'intestazione (o usa Ctrl+Shift+[ / Ctrl+Shift+]) per comprimere ed espandere la sezione; in Visualizza ci sono Comprimi/Espandi tutte le intestazioni. La compressione è solo visiva — non viene mai scritta nel file — e LightNote la ricorda tra le sessioni. Saltare dal Sommario o dalla ricerca dentro una sezione compressa la espande.
Raccoglitore: la cartella come opera
Che cos’è: una cartella le cui note sono capitoli, in un ordine che dichiari tu. Va bene per un libro, una tesi, un corso, un manuale, un runbook o un diario di bordo: il meccanismo è lo stesso. Nel menu contestuale della cartella, Trasforma in raccoglitore apre una schermata con le note nell’ordine attuale: trascina per riordinare e conferma. L’ordine viene salvato nella chiave chapters: del index.md della cartella — un file di testo tuo, che viaggia con le note e vale su qualsiasi macchina. Anche una sottocartella può essere nominata nell’ordine: i suoi capitoli entrano nella posizione in cui compare, ed essa dichiara il proprio ordine nel suo index.md — è così che un libro acquista parti. La copertina di una sottocartella non diventa una pagina del documento; serve a dichiarare l’ordine di quel livello e a navigare.
Navigare: con l’ordine dichiarato, la barra della nota mostra Capitolo 3 di 12, con una freccia per lato (Alt+PgUp e Alt+PgDn); il pulsante centrale elenca tutti i capitoli. Il pannello Sommario passa a mostrare due livelli: i capitoli dell’opera e, sotto quello aperto, i suoi titoli. Alle estremità dell’opera la freccia è grigia. In una cartella senza ordine dichiarato non compare nulla di tutto questo, e tutto resta com’era.
Il modello delle note: un raccoglitore può dichiarare da quale modello nascono le note create al suo interno (la chiave template:). Ci sono cinque modelli pronti — capitolo di libro, capitolo di tesi, lezione, passo di procedura e voce di diario — e sceglierne uno lo salva come file nella cartella Templates, dove resta modificabile. Una nota creata dentro il raccoglitore entra da sola nell’ordine; un file lasciato lì da fuori resta sotto Fuori dall’ordine finché non lo adotti. Rinominare un capitolo corregge la chiave e ne conserva la posizione. Per partire da un’opera già pronta, Struttura da un modello… (nel menu contestuale della cartella) scrive le due chiavi in una volta — l’ordine e il modello dei capitoli — conservando la copertina che hai già scritto; e finché c’è un capitolo dichiarato che ancora non esiste, il Sommario mostra un pulsante che li crea tutti insieme, ciascuno già dal modello della cartella. Nulla viene sovrascritto: il capitolo che è già lì resta com’è.
Unire in un solo documento: esportando la cartella, la casella Unire i capitoli in un solo documento produce un file con i capitoli nell’ordine dichiarato. Poiché il testo viene unito prima di essere reso, note a piè di pagina, figure, tabelle e citazioni vengono poi numerate sull’intero documento — e un rimando da un capitolo a una figura di un altro comincia a funzionare. Ciò che non è nell’ordine dichiarato resta fuori, e il rapporto dice cosa.
Proprietà, tema e zoom
Proprietà della nota: il pannello laterale Proprietà mostra il frontmatter YAML come campi tipizzati (testo, numero, data, casella), con la casella Tipo in alto. Impostare il tipo e le proprietà è ciò che permette di raccogliere le note in una Base.
Tema della nota: la casella Tema del pannello
Proprietà definisce l'aspetto di questa nota — i colori e il carattere del
testo — senza toccare il tema del resto dell'applicazione. La scelta finisce nel
frontmatter (la chiave theme), quindi viaggia con il file:
la nota si vede uguale su qualsiasi macchina. Il pulsante accanto scrive i
colori dentro la nota stessa, così resta uguale anche per chi non ha quel tema.
Senza la chiave, la nota segue il tema dello spazio di lavoro. Se preferisci che
le note provenienti dall'esterno non cambino il tuo aspetto, disattiva
Rispettare il tema dichiarato nella nota in
Impostazioni → Markdown.
Un tema che LightNote non conosce ancora: l'elenco dei temi è un unico file scaricato dal sito, quindi una nota che cita un tema pubblicato dopo il tuo ultimo aggiornamento semplicemente non lo trova. La nota si apre allora con il tema dello spazio di lavoro e il pannello Proprietà lo segnala, con una scorciatoia per vedere i temi disponibili. LightNote cerca l'elenco aggiornato da solo — una volta per sessione, in secondo piano e senza bloccare la nota. Se preferisci che non scarichi mai nulla, disattiva Cerca il catalogo strumenti online in Impostazioni → Funzionalità.
Ctrl++ e Ctrl+− (o Ctrl+rotellina) cambiano la dimensione della nota, e Ctrl+0 torna al 100% — comodo per leggere una nota lunga senza toccare il carattere di tutte. L'editor e la lettura vengono ridimensionati insieme: in modalità divisa i due lati restano della stessa dimensione. Anche un <svg> scritto direttamente nella nota viene disegnato nella lettura: puoi incollare un grafico generato dall'IA senza farne un file a parte.
Quante parole, e dove. La barra di stato conta le parole della nota e stima il tempo di lettura; accanto, sezione N è il conteggio della sezione in cui si trova il cursore — la stessa che il Sommario evidenzia, dal suo titolo fino al successivo di livello uguale o superiore. Dichiarando un obiettivo giornaliero in Impostazioni → Note e scrittura, compare anche oggi N/M: ciò che è cresciuto nelle note aperte oggi. Cancellare non sottrae — rivedere il proprio testo non può diventare una punizione —, una nota che non hai aperto non entra, e a mezzanotte il conteggio si azzera.
Diagrammi (Mermaid)
Come funziona
Diagrammi Mermaid. Un recinto ```mermaid con un diagramma di flusso (flowchart/graph, nelle quattro direzioni), un diagramma di sequenza (sequenceDiagram) o un grafico a torta (pie) viene disegnato come diagramma nella modalità di lettura, nel file esportato e nelle risposte di Chiedi alle note — da dove arrivano quasi sempre i diagrammi. Il disegno segue il tema della nota (inchiostro, carta e accento), quindi si accorda con il testo intorno in entrambi i temi. Nella modifica formattata — la modalità predefinita — il diagramma viene disegnato anche lì, con la barra del blocco sopra (copia, modifica, elimina). Modifica apre in basso una barra con il sorgente: la nota resta bloccata finché è aperta e il disegno si rifà mentre scrivi; chiudere applica (non c’è né salva né annulla), Ctrl+Z annulla l’intera modifica in un passo e svuotare il campo rimuove il blocco. Nella modalità divisa, fare clic sul diagramma porta il cursore fino al recinto nel testo grezzo. Nell’editor di testo tutto resta testo: usa Ctrl+E per vedere il diagramma. Dentro un elemento di elenco, il diagramma — e anche la struttura SMILES, la formula in blocco, [files] e ![[nota]] — resta testo nella modifica formattata e appare disegnato nel modo lettura: lì il marcatore dell’elemento non avrebbe modo di tornare nel file.
I sottografi (subgraph … end, anche annidati) diventano riquadri con titolo, e gli archi attraversano il bordo partendo dal nodo vero; l’id di un sottografo può anche essere estremo di un arco (sub --> X). Valgono i colori dichiarati dall’autore: classDef, class, :::classe e style (riempimento, bordo, spessore, tratteggio e colore del testo). Per iniziare, usa Inserisci → Diagramma (Mermaid) nella barra della nota: entra con uno scheletro pronto del tipo scelto. Il menu offre i sei più usati direttamente; Tutti i diagrammi… apre un selettore con tutti e 33, raggruppati per scopo, con ricerca (per nome o per ciò che il diagramma mostra) e l'anteprima disegnata di ciascuno — sono 33 disegni, e vedere il disegno decide più in fretta che leggere il nome. Anche il frontmatter del diagramma — il blocco tra --- prima della prima riga — viene letto: il title diventa il titolo disegnato sopra il disegno (un title nel corpo vince) e le chiavi di config che LightNote conosce arrivano al diagramma (gitGraph.mainBranchName, gantt.displayMode e quelle di packet: bitsPerRow, bitOrder: descending — che specchia la fila — e showBits: false); ciò che non conosce viene ignorato, senza rifiutare la nota.
Sequenza, entità, classi e stati
Nel diagramma di sequenza valgono participant/actor (con as), le forme di freccia (->>, -->>, -x, -)), l’attivazione (+/- e activate/deactivate), le note (Note left of/right of/over), i blocchi loop/alt/else/opt/par e autonumber. Ciò che non viene ancora disegnato — altri tipi di diagramma — continua a comparire come blocco di codice; direction dentro un sottografo e linkStyle vengono ignorati. Anche la sintassi di nodo di Mermaid v11 (A@{ shape: rounded, label: "testo" }) viene letta, e il catalogo di forme della v11 viene disegnato: doc, lin-doc, docs, tag-rect, win-pane, hourglass, bolt, flag, das… — ognuna è il simbolo che il nome dice, e nessuna diventa un rettangolo, perché un rettangolo al posto di un documento sarebbe un altro diagramma. Un nome che Mermaid non ha riporta il diagramma a blocco di codice, indicando la riga. L’id di arco (A e1@--> B) e e1@{ animate: true } sono accettati e ignorati: l’animazione non viene disegnata. Il partecipante tipizzato (participant DB@{ "type": "database" }) disegna il simbolo UML sopra la corsia — boundary, control, entity, database, queue e collections —, e l’"alias" dichiarato lì vale come as.
Anche il erDiagram viene disegnato: ogni entità diventa una casella con i suoi attributi e la cardinalità appare a entrambe le estremità della relazione (||--o{, }o--||, |o, |{); -- è una relazione identificante e .. non identificante. L'alias p[Persona] nomina la casella senza cambiare l'id citato dalle relazioni. Anche il subgraph … end vale qui: le entità all’interno ottengono un riquadro con titolo, i sottografi si annidano e l’id del riquadro può essere un’estremità di relazione (CLIENTE ||--o{ Vendite : effettua), agganciandosi al confine invece che a un’entità con quel nome.
Anche il classDiagram: casella a tre scomparti (nome, attributi e metodi, separati dalle parentesi del metodo), <<interface>> su una riga propria, namespace come casella e le sei relazioni (<|--, *--, o--, -->, ..>, ..|>). Attenzione al verso: in A <|-- B il triangolo sta su A — chi eredita è B. La cardinalità tra virgolette appare a entrambe le estremità ("1" --> "*"). I generici Lista~T~ appaiono come Lista<T>, anche nei membri. L’interfaccia lollipop (bar ()-- foo) disegna il cerchio in cima al riquadro dal lato in cui sta il () — e solo lì —, con la relazione che tocca il cerchio; anche i namespace si annidano, e dopo la } interna una classe torna al namespace esterno.
Il stateDiagram-v2 disegna la macchina a stati: [*] è l'inizio (disco pieno) e la fine (disco con anello), state X { … } diventa una casella, <<fork>>/<<join>> una barra e <<choice>> un rombo. Un -- dentro uno stato composito separa le regioni concorrenti, segnate da una linea tratteggiata.
Linea del tempo, percorso, quadranti e Gantt
Anche la timeline viene disegnata: ogni periodo diventa una colonna della linea temporale, con i suoi eventi impilati sotto, e section raggruppa le ere in fasce colorate. Valgono entrambe le grafie per più eventi — due punti sulla stessa riga (2004 : Facebook : Google) e continuazione sulla riga successiva (: altro evento) —, e qui ogni riga che non sia title, section o direction è testo libero. direction TD (linea temporale verticale) non è ancora disegnato e mantiene il blocco di codice.
Il journey (percorso dell'utente) viene disegnato anch'esso: ogni attività diventa una casella sull'asse del percorso, e il punteggio da 1 a 5 sposta il suo volto in alto o in basso — è il profilo che formano ciò che il diagramma esiste per mostrare. section raggruppa le fasi e gli attori diventano marcatori colorati sull'attività, con la legenda a sinistra. Qui la grammatica è rigida (Attività: punteggio: Attore, Attore), a differenza di quella del timeline: senza la coppia nome/punteggio non c'è dove mettere il volto, quindi una riga malformata — o un punteggio fuori da 1 a 5 — rifiuta il diagramma indicando la riga.
E il quadrantChart disegna il piano dei quattro quadranti: x-axis e y-axis danno il nome agli estremi di ciascun asse (il lato destro di --> è facoltativo), da quadrant-1 a quadrant-4 etichettano le regioni e ogni punto entra come Nome: [x, y], con x e y da 0 a 1. Attenzione alla numerazione: è quella del piano cartesiano, non quella di lettura — quadrant-1 è quello in alto a destra, e da lì si procede in senso antiorario; y = 1 sta in alto. Colore e raggio di un punto possono arrivare diretti (P: [0.5, 0.5] radius: 10, color: #109060) o da una classe (P:::classe più classDef), e lo stile diretto batte la classe. Una coordinata fuori da 0 a 1 rifiuta il diagramma indicando la riga invece di essere tagliata — è la posizione nel piano, e tagliarla metterebbe il punto in un quadrante che non hai scritto.
Il gantt disegna il cronoprogramma: dateFormat dichiara il formato delle date che scrivi (predefinito YYYY-MM-DD) e axisFormat quello delle etichette dell’asse (%d/%m); section raggruppa le attività in fasce. Ogni attività si scrive Testo : marcatori, id, inizio, fine — i marcatori done, active, crit e milestone vengono per primi e si possono combinare, l’inizio è una data o after altroId, e la fine è una data, una durata (5d, 2w, 3h, 45m) oppure until altroId. Con un solo campo l’attività comincia dove è finita la precedente. L’after può citare un’attività dichiarata più avanti nella nota; invece un id che non esiste da nessuna parte — o una dipendenza circolare — rifiuta il diagramma indicando la riga, invece di mettere la barra sulla data di oggi. L’excludes weekends (oppure excludes monday, o una data) sposta la fine di ogni attività oltre i giorni esclusi, e per questo cambia la lunghezza delle barre; includes 2026-03-07 batte il fine settimana, per dire che quel sabato si lavora. La milestone appare come un rombo, e todayMarker off toglie la linea di oggi. Il displayMode compact impila più attività sulla stessa riga, e qui un’attività condivide la riga solo quando nulla di ciò che occupa tocca ciò che c’è già — etichetta compresa. Il marcatore vert (Apertura : vert, v1, 20:15, 0m) disegna l’istante come una linea verticale che attraversa tutto il grafico, senza occupare alcuna riga, e la sua etichetta finisce sotto l’asse. Il dateFormat X (o x) legge la data come tempo Unix in secondi (o millisecondi), e sull’asse %s/%Q la riscrive. Un tickInterval che Mermaid non conosce (1decade) viene ignorato in silenzio, come lì, e l’asse torna automatico.
Mappa mentale, requisiti, Git e C4
Nella mindmap la gerarchia viene dall’indentazione: il livello di una voce è la colonna in cui inizia il suo testo, senza parentesi né frecce (una tabulazione vale fino alla fermata successiva di 4, come in un editor). La prima voce è la radice — una seconda voce nella sua colonna sarebbe una seconda radice, e allora il diagramma viene rifiutato indicando la riga. Ogni voce può dichiarare la forma: [quadrato], (arrotondato), ((cerchio)), {{esagono}}, ))esplosione(( e )nuvola(; senza delimitatore esce arrotondata. ::icon(...) e :::classe sono riconosciuti e ignorati (non distribuiamo il font delle icone, e la classe rimanda a un CSS esterno che qui non esiste). Il disegno è a due lati — la radice al centro, i rami distribuiti a sinistra e a destra —, ogni ramo con un colore proprio che i discendenti ereditano, e il ramoscello si assottiglia con la profondità. È un albero, non una simulazione di forze come in mermaid: in una mappa mentale la gerarchia è il contenuto, quindi deve leggersi dalla posizione — e, dato che il disegno viene rifatto al cambio di tema, una disposizione che converge da posizioni casuali riorganizzerebbe l’intera mappa ogni volta.
Il treeView (treeView-beta) disegna l’albero delle cartelle di un progetto e accetta entrambe le grafie: il rientro (quello che si digita) e i caratteri stessi del comando tree (├──, │, └──), che è ciò che permette di incollare l’output del terminale direttamente nella nota — lì il rientro non basta, perché │ e uno spazio occupano la stessa colonna e solo il primo dice che il ramo continua. La barra finale segna la cartella (src/), un nome con spazi va tra virgolette, ## testo appende un commento a fine riga e :::highlight evidenzia il nome. icon(...) viene riconosciuto e ignorato, come l’::icon() della mappa mentale: i pacchetti di icone arrivano da Iconify via JavaScript, e nemmeno Mermaid li disegna per impostazione predefinita.
L’ishikawa (ishikawa-beta) disegna il diagramma a lisca di pesce di un’analisi delle cause: il primo elemento è l’EFFETTO (la testa, a destra), il livello successivo sono le categorie (le lische) e i due interni sono le cause e le sotto-cause. Sono tre livelli, e un quarto rifiuta il diagramma indicando la riga — in Mermaid non esiste. Le lische si alternano sopra e sotto la spina, il che permette a due categorie vicine di stare senza che il testo dell’una finisca su quello dell’altra, e l’ordine in cui scrivi le cause si legge dall’alto in basso da entrambi i lati.
Il venn (venn-beta) disegna insiemi che si incrociano: set A["Desiderabile"] ne dichiara uno, union A,B["Realizzabile"] dà il nome alla regione comune (un’unione si chiama con gli insiemi che attraversa) e text A1["React"], subito sotto a uno di essi, mette un elemento dentro quella regione. Sono fino a tre insiemi, e il quarto rifiuta il diagramma indicando la riga: con quattro cerchi non esiste disposizione che produca tutte le regioni, e disegnarne uno "quasi giusto" nasconderebbe una regione che hai dichiarato. Il :numero dopo l’etichetta (set A["Alpha"]:20) scala il cerchio — l’area segue il numero — e non le intersezioni: un Venn con intersezioni proporzionali è un altro diagramma (Euler), che richiede ottimizzazione numerica. style A fill:#ff6b6b colora un insieme, e con la virgola (style A,B color:#333) vale per l’unione di quegli insiemi.
Il cynefin (cynefin-beta) disegna il quadro di Snowden per classificare le decisioni: i cinque domini hanno nome fisso — complex, complicated, chaotic, clear e confusion — e posizione fissa (i quattro quadranti, con la confusione al centro); quello che scegli è ciò che va dentro a ciascuno. Ogni voce va tra virgolette, una per riga, e complex --> complicated : "Schema identificato" disegna la transizione fra due domini. Un nome fuori dai cinque rifiuta il diagramma indicando la riga e dicendo quali esistono. Il confine fra clear e chaotic esce ondulato: nel modello è un precipizio, e la forma lo dice — qui l’onda è sempre la stessa, perché la nota non cambi disegno a ogni apertura.
Lo swimlane (swimlane-beta) disegna un processo a corsie, una per responsabile: la sintassi è quella del diagramma di flusso (stesse forme, frecce, etichette e classDef), e ogni subgraph smette di essere un riquadro e diventa una corsia. Ogni nodo deve stare dentro una — un nodo sciolto rifiuta il diagramma, perché non ci sarebbe modo di dire di chi è il compito — e una corsia dentro una corsia rifiuta ugualmente. Con LR le corsie sono righe e il flusso va a destra; con TB sono colonne e il flusso scende. La posizione lungo il flusso viene dal cammino più lungo fino a ogni compito, e la fascia è quella del proprietario: un compito non esce mai dalla sua corsia, nemmeno se il disegno ne uscisse più compatto.
L’agentflow (agentflow-beta) disegna un flusso con agenti di IA ed è un altro vocabolario per il diagramma di flusso: le frecce sono le stesse, flow id["Nome"] … end fa la parte del subgraph (e si annida), global … end tiene ciò che tutti gli agenti consultano e connector id["Nome"] dichiara un sistema esterno. Ciò che cambia davvero è la forma, che dice il ruolo di ogni passo: @{ shape: input }, task, tool (chiamata a uno strumento), decision, refdoc (documento di riferimento) e action (azione finale). Collega il documento con -.-, senza freccia: viene consultato, non è un passo del flusso. Le chiavi che descrivono l’agente a parole (instruction, params, returns, connectorRef, protocol, endpoint) vengono lette e ignorate nel disegno. Questi nomi di forma valgono solo qui: in un flowchart rifiutano, perché nemmeno Mermaid li ha lì.
L’usecase (usecase-beta) disegna il diagramma dei casi d’uso UML: ciò che si dichiara con actor diventa l’omino, e tutto il resto è un caso d’uso, disegnato come ellisse — è la distinzione che questo tipo esiste per mostrare. Il caso d’uso può essere Id("Etichetta"), Id[Etichetta], solo Id o solo il testo tra virgolette; systemBoundary "Nome" … end è il confine del sistema e note for X "testo" appende una nota. Le relazioni sono quelle UML: --> associa, --|> è la generalizzazione (il triangolo vuoto sta dalla parte del generale) e A ..> : include B — con il bersaglio dopo i due punti — disegna l’« include » punteggiato, e lo stesso vale per extend. Ciò che descrive l’attore senza cambiare il disegno (type, business, icon) viene letto e ignorato, e lo <<Stereotipo>> entra nell’etichetta. Il nodo json non viene ancora disegnato e mantiene il blocco di codice: è un blocco su più righe con l’albero del dato dentro, e lì il JSON resta leggibile come testo.
Il wardley (wardley-beta) disegna una mappa di Wardley: un piano in cui l’asse verticale è la visibilità per l’utente (in alto c’è ciò che vede) e quello orizzontale è l’evoluzione, da Genesis a Commodity. Attenzione all’ordine della coppia: component Tè [0.63, 0.81] è [visibilità, evoluzione] — il primo numero è l’asse verticale, e letto al contrario la mappa continua a disegnarsi e inizia a dire un’altra strategia. L’anchor è l’utente in alto, A -> B collega la catena (il nome può avere spazi, con o senza virgolette), A +> B è flusso (più spesso; +<> nei due sensi e +'testo'> con etichetta) ed evolve Bollitore 0.62 disegna la freccia tratteggiata fin dove il pezzo deve arrivare. Valgono anche evolution (cambia le tappe dell’asse), size, (build)/(buy)/(outsource)/(market), (inertia) (la barra di resistenza), label [dx, dy], pipeline X { … }, note, accelerator/deaccelerator e le annotation numerate con la legenda di annotations.
L’eventmodeling disegna un event modeling: una linea del tempo su tre corsie — lo schermo in alto, il comando (e il modello di lettura) in mezzo, l’evento in basso. Ogni riga è tf 02 cmd AggiungiArticolo: il numero è l’istante (la colonna) e la parola di mezzo è il tipo, che sceglie la corsia — ui, cmd/command, pcr/processor, rmo/readmodel, view ed evt/event (le forme lunghe valgono uguale). La corsia non si dichiara: è il metodo. Il rf (resetframe) apre una nuova fetta, con un divisore tratteggiato — è dove la storia ricomincia. Lo schema del riquadro va tra graffe ({ descrizione: string }) o per riferimento ([[Dati]]) a un blocco data Dati { … }, che può venire dopo; e ->> 02 ->> 03 collega il riquadro agli istanti che lo alimentano, citando il numero.
Il railroad (railroad-ebnf-beta, -abnf-beta, -peg-beta o railroad-beta) disegna una grammatica come binari: ogni regola diventa un percorso che si segue col dito, e ciò che si può scrivere è ciò che si può percorrere. La regola è nome = espressione ; (o nome <- … ; in PEG) e può occupare più righe: si chiude al ;. Il testo tra virgolette è un terminale (disegnato a capsula) e un nome da solo è un’altra regola (rettangolo); | (o /) è scelta, ? opzionale, + uno o più, * zero o più, e ( ), [ ] e { } raggruppano, rendono opzionale e ripetono. L’ABNF mette la ripetizione prima (1*( ALPHA / "-" ), *DIGIT), il PEG accetta i predicati !x e &x — che finiscono nell’etichetta, perché non consumano input — e railroad-beta accetta la grafia a funzioni (sequence(choice(terminal("+"), …))). Tutti e quattro arrivano allo stesso disegno: la deviazione sopra è l’opzionale e il cappio sotto, con la freccia all’indietro, è la ripetizione.
Il requirementDiagram disegna requisiti ed elementi come riquadri a scomparti: il tipo dichiarato (requirement, functionalRequirement, performanceRequirement, interfaceRequirement, physicalRequirement, designConstraint) compare fra virgolette a caporale sopra il nome, e i campi id, text, risk e verifymethod diventano righe — in un element, type e docref. Le relazioni (satisfies, traces, derives, verifies, refines, copies, contains) si scrivono a - satisfies -> b oppure nella forma speculare b <- satisfies - a, e in questa il primo nome è la destinazione. Solo contains è una linea piena, con il simbolo dal lato di chi contiene; le altre sono tratteggiate con la freccia sulla destinazione. Un nome con spazio va fra virgolette.
Il gitGraph disegna la cronologia di un repository: ogni commit avanza nel tempo, branch nome apre una corsia nuova e ci si sposta subito dentro (come git switch -c), checkout torna a un'altra e merge unisce le due. Gli attributi vogliono i due punti: commit id: "testo" tag: "v1" type: HIGHLIGHT (anche REVERSE), e branch nome order: 2 cambia l'ordine delle corsie; cherry-pick id: "…" richiede l'id di un commit che esista. La forma dice il tipo — disco pieno nel commit comune, quadrato in quello evidenziato, cerchio con la X in quello annullato, doppio anello nel merge e cerchio tagliato nel cherry-pick —, perché in un tema dove due tonalità della tavolozza si somigliano solo la forma li separa. LR: (predefinito), TB: e BT: ruotano l'asse del tempo. Un checkout/merge su un ramo che non esiste rifiuta il diagramma indicando la riga, invece di creare una corsia che non hai chiesto.
Anche la famiglia C4 (C4Context, C4Container, C4Component, C4Dynamic e C4Deployment) viene disegnata, e lì tutto è macro: nella sintassi non c'è nessuna freccia. Ogni elemento diventa un riquadro con il tipo fra virgolette a caporale, il nome in grassetto e la descrizione sotto: Person(alias, "Nome", "Descrizione"), System, Container, Component e le varianti Db, Queue e _Ext. In Container e Component il terzo argomento è la TECNOLOGIA (Container(app, "App", "C++/Qt", "che cosa fa")); negli altri è già la descrizione. I confini (Boundary, Enterprise_Boundary, System_Boundary, Container_Boundary e il Node di C4Deployment) aprono una graffa e diventano un riquadro con titolo, anche annidati. Il collegamento è Rel(a, b, "etichetta", "tecnologia"); BiRel mette la freccia a entrambe le estremità e Rel_Back punta all'indietro. Il C4Dynamic numera le relazioni nell'ordine in cui compaiono. Le indicazioni di posizione (Rel_U, Rel_D, Rel_L, Rel_R) e gli Update…Style sono accettati e ignorati: la disposizione viene dallo stesso layout degli altri diagrammi e il colore dal tema della nota. Una relazione che cita un alias mai dichiarato rifiuta il diagramma indicando la riga, invece di inventare un riquadro che non hai scritto.
Bacheca, grafici e pacchetto
Nel kanban l'indentazione è la sintassi, su due livelli: quello esterno è la corsia e quello interno è la scheda (id[Etichetta], oppure solo il testo). Il @{ ticket: LN-9, assigned: 'ana', priority: 'High' } dopo una scheda non entra nel suo testo: ticket e responsabile finiscono in un piè di pagina proprio, e la priorità (Very High, High, Low, Very Low) diventa il colore della banda sul bordo sinistro, su una scala dal caldo al freddo. Tutte le corsie finiscono sulla stessa riga, e una corsia senza schede resta visibile — è lei a mostrare la colonna vuota. Questa è una bacheca disegnata, per spiegare un flusso dentro una nota; la bacheca su cui si lavora, con le schede da trascinare, è il pannello Attività dell'app stessa.
Il xychart (xychart-beta) disegna barre e linee su due assi: x-axis "Titolo" [gen, feb, mar] dà le categorie — un nome con spazio o virgola va tra virgolette —, y-axis "Titolo" 0 --> 100 fissa la scala e ogni bar [10, 40, 90] o line [20, 30, 80] aggiunge una serie, con un valore per categoria, nell'ordine in cui sono state dichiarate. Una serie con più o meno valori rifiuta il diagramma indicando la riga: le barre scivolerebbero su altre categorie e il grafico affermerebbe un'altra cosa. Senza y-axis la scala esce dai dati e parte da zero finché questi non scendono sotto — partire dal valore più piccolo esagera la differenza fra le barre, e nessuno l'ha scelto; con l'intervallo dichiarato, un valore fuori da esso viene rifiutato invece di sfondare il piano. x-axis accetta anche un intervallo continuo (0 --> 100), e senza di esso le categorie sono gli indici. Due serie di barre compaiono affiancate, non sovrapposte come nel mermaid — sovrapposte, quella dietro sparisce. xychart-beta horizontal non è ancora disegnato e mantiene il blocco di codice, perché disegnarlo in verticale consegnerebbe il grafico trasposto. Una serie può avere un nome (bar "Aperti" [10, 40], line "Chiusi" [20, 30]): i nomi formano una legenda sopra il piano, ciascuno con la forma della propria serie — barra piena, linea con punto —, perché il solo colore non le distingue. E in una serie a linea un valore può portare un’etichetta ([540 "PaLM", 65]), disegnata sopra il punto; sulle barre l’etichetta viene ignorata, come in Mermaid.
Il radar (radar-beta) disegna il profilo di una o più curve su assi che partono dal centro: axis a["Etichetta"], b, c dichiara gli assi — la riga può ripetersi — e curve x["Nome"]{80, 60, 90} dà un valore per asse, nell'ordine in cui sono stati dichiarati; vale anche la forma con nome ({a: 80, c: 90, b: 60}). Attenzione al verso: il primo asse punta in alto e il giro è orario. max e min fissano la scala — senza max esce dal valore più grande letto — e un valore fuori scala rifiuta il diagramma indicando la riga, invece di essere troncato; ticks cambia il numero di anelli, graticule circle li rende tondi e showLegend false toglie la legenda. Anche una curva con più o meno valori degli assi viene rifiutata: non sarebbe un disegno incompleto, ma un altro disegno.
Il packet (packet-beta) disegna la mappa dei bit di un pacchetto: ogni campo è 0-15: "Etichetta", e l'intervallo è chiuso a entrambi gli estremi — 0-15 sono sedici bit. Un solo bit si scrive 4: "Etichetta", e la forma relativa +16: "Etichetta" prende i sedici successivi, per non dover ricontare tutto quando si inserisce un campo in mezzo. I campi devono essere contigui: un vuoto o una sovrapposizione rifiuta il diagramma indicando la riga, perché entrambi sposterebbero in silenzio tutto ciò che viene dopo. La riga contiene 32 bit, e un campo che supera il cambio di riga compare su entrambe, con l'etichetta nella parte più larga; i numeri sopra la griglia segnano dove inizia ogni campo, più l'ultimo bit di ogni riga.
Griglia, aree, architettura, flusso e ZenUML
Il block (block-beta) disegna una griglia di riquadri, e lì la posizione è l'ordine in cui li hai scritti: columns 3 fissa quante colonne ha la griglia — senza, tutto sta su una riga sola —, ogni riquadro accetta le forme del diagramma di flusso (a["Etichetta"], b(("cerchio")), c{"rombo"}), a:2 gli fa occupare due colonne e space (o space:2) lascia un vuoto. block:id … end annida una griglia dentro l'altra, con il proprio columns, e diventa un riquadro attorno. Le frecce sono quelle del diagramma di flusso (a --> b, con etichetta in a -- "testo" --> b), ma qui citano soltanto blocchi già dichiarati: una freccia verso un nome che non esiste rifiuta il diagramma indicando la riga, invece di inventare un riquadro in una cella che non hai scritto. Lo spazio fra le colonne cresce finché l'etichetta della freccia non ci sta, così non tocca il riquadro vicino. La freccia di blocco (a<["Andata"]>(right)) è un riquadro a forma di freccia: le direzioni vanno tra parentesi (right, left, up, down, oppure x per le due orizzontali e y per le due verticali) e si combinano ((x, down)); una direzione inventata rifiuta il diagramma indicando la riga, invece di diventare una freccia qualsiasi.
Il treemap (treemap-beta) disegna una mappa di aree: ogni rettangolo ha area proporzionale al valore, e l'indentazione annida, a profondità libera. La foglia dichiara il valore ("Nome": 12) e la sezione non dichiara nulla — il suo è la somma dei figli, e un totale proprio permetterebbe un rettangolo che mente sulle proprie parti, quindi viene rifiutato indicando la riga. Un nome con spazio o due punti va tra virgolette; classDef e :::classe danno il colore. La disposizione è lo squarified, che tiene i rettangoli vicini al quadrato: tagliare sempre sullo stesso asse produrrebbe strisce che non si confrontano a occhio, e confrontare aree è l'unica cosa che questo tipo fa. Etichetta e valore compaiono solo quando ci stanno per intero dentro il rettangolo: tagliati dal bordo non direbbero nulla.
L'architecture (architecture-beta) disegna servizi e i collegamenti fra loro: service api(server)[API] dichiara un componente, group nuvola(cloud)[Nuvola] apre un confine, il suffisso in nuvola mette il servizio dentro (i gruppi si annidano) e junction j crea un angolo per piegare un collegamento. È il lato del collegamento a decidere la posizione: a:R -- L:b appoggia la destra di a alla sinistra di b, cioè mette b a destra di a; valgono L, R, T e B, e la punta compare dal lato del < o del > (-->, <-->, oppure -- senza punta). Il suffisso {group} su un estremo manda la linea al confine del gruppo invece che al riquadro interno. Le icone sono le cinque che Mermaid porta con sé — cloud, database, disk, internet e server — e qualsiasi altro nome rifiuta il diagramma indicando la riga e dicendo quali esistono. Le altre (logos:aws-lambda e simili) vengono da Iconify e compaiono solo dove chi pubblica la pagina registra il pacchetto via JavaScript, cosa che nemmeno GitHub fa: accettarle qui consegnerebbe un disegno che non si ripete da nessun'altra parte. L’align row a b c (o align column) mette i membri citati sulla stessa fila — o nella stessa colonna —, e un nome che non esiste rifiuta il diagramma indicando la riga, invece di lasciare la disposizione com’era senza dire perché.
Il sankey (sankey-beta) disegna un diagramma di flusso in cui lo spessore del nastro è il valore: il corpo non ha alcuna freccia — è un CSV a tre colonne (origine,destinazione,valore), un collegamento per riga, ed è ripetere un nome ai due estremi che concatena il flusso. Un'etichetta con la virgola va tra virgolette, e una virgoletta al suo interno si scrive raddoppiata ("Costo ""fisso"""); la stessa coppia origine/destinazione ripetuta si somma. La barra di un nodo è alta quanto il maggiore fra ciò che entra e ciò che esce, perché i nastri in uscita di un nodo che distribuisce più di quanto riceve non escano dal bordo. Le colonne derivano dal cammino più lungo fino a ciascun nodo, e ciò che non ha uscite va nell'ultima colonna. Un valore minore o uguale a zero, un collegamento di un nodo verso sé stesso e un ciclo rifiutano il diagramma indicando la riga — in un ciclo non esiste un cammino più lungo, e tagliare un collegamento per poter disegnare mostrerebbe un flusso che non hai scritto. Qui non c'è title: il corpo è CSV puro, e accettarlo disegnerebbe bene in LightNote e sarebbe un errore di sintassi in Mermaid.
Lo zenuml è un'altra sintassi per lo stesso disegno — un diagramma di sequenza —, scritta come codice invece che con frecce. La chiamata sincrona nomina solo la destinazione (Negozio.registra(articolo)) e il mittente è il blocco che la racchiude: dentro Negozio.registra() { Magazzino.riserva() }, chi chiama il Magazzino è il Negozio. Al livello esterno chi chiama è l'avviatore — @Starter(Ana) lo nomina, e senza di esso entra un User con l'omino, che compare solo se qualche chiamata ne ha bisogno. Il messaggio asincrono è A->B: testo (punta aperta, nessuno aspetta) e A->B.metodo() è la chiamata sincrona con il mittente scritto a mano. {} annida, return x torna a chi ha fatto la chiamata che lo racchiude (un if in mezzo non cambia nulla), x = A.m() è l'altra grafia della stessa risposta, new A(args) crea e // commento diventa una nota sopra il messaggio successivo. I blocchi sono if/else if/else, while/for/forEach/loop, opt, par e try/catch/finally — e } else { continua lo stesso riquadro, con un divisore, invece di aprirne un altro. @Actor disegna l'omino; gli altri annotatori (@Database, @Boundary…) diventano stereotipo nell'etichetta («Database» Magazzino), perché le loro icone qui non sono disegnate — il nome continua a comparire, ed è ciò che conta. Un nome con lo spazio va tra virgolette. Attenzione a dove finisce questo blocco: in Mermaid lo zenuml è un diagramma esterno che la pagina deve registrare via JavaScript — GitHub non lo fa, quindi la stessa nota che qui si disegna lì appare come blocco di codice.
E quando LightNote non riesce a leggere un diagramma, dice perché e a quale riga, subito sotto il blocco — un tipo che non disegniamo ancora non produce avvisi, perché lì non c'è nulla di sbagliato.
Matematica e chimica (LaTeX)
Formule (LaTeX)
Matematica (LaTeX). $E = mc^2$ in mezzo alla frase e $$…$$ a blocco diventano una formula disegnata in modalità di lettura, nel file esportato e nelle risposte di Chiedi alle note. Il disegno segue il tema della nota. Nella modifica formattata anche la formula a blocco viene disegnata, con la barra del blocco sopra (modifica, copia, elimina); e anche la formula in mezzo alla frase, appoggiata sulla riga di testo. Per modificarla, fai doppio clic su di essa oppure premi Ctrl+Invio: si apre nella stessa barra. E Backspace subito dopo la restituisce come $…$, per modificarla sul posto. Nell'editor di testo resta tutto testo: usa Ctrl+E per vedere la formula. Per iniziare, usa Inserisci → Formula (LaTeX) nella barra della nota. La formula è disegnata con il font matematico di sistema — su Windows, Cambria Math — e non con il font del corpo della nota: da lì arrivano il corsivo matematico, i simboli che un font di testo non ha e le parentesi e le radici che crescono con il contenuto. Senza alcun font matematico installato, LightNote torna al font della nota e disegna quei segni da sé.
Il sottoinsieme copre lettere greche, operatori e relazioni, l'esponente ^ e l'indice _, \frac, \sqrt (con indice), \left…\right con delimitatori che crescono, \sum/\prod/\int con limiti, funzioni tonde (\sin, \log…), \text/\mathrm/\mathbf/\mathbb gli alfabeti \mathcal/\mathfrak/\mathsf/\mathtt/\boldsymbol, \binom, \overset/\underset, \bmod/\pmod, la famiglia \big…\Bigg gli spazi \,/\quad/\hspace, gli ambienti cases, matrix/pmatrix/bmatrix/vmatrix, aligned, gathered e array (con | e \hline), \overbrace/\underbrace, \begin{CD} e \begin{tikzcd} (diagramma commutativo), \xrightarrow, \boxed/\cancel, \not, \substack, \|/\middle, \smash, \textcolor/\color (la tinta è la tua; la chiarezza si adatta al tema della nota), \colorbox/\fcolorbox (lo sfondo esce nel colore che hai scritto, e il testo si adatta a esso), \tag (l'etichetta dell'equazione, in fondo a essa; in un align, una per riga, allineate in colonna), \phantom, \displaystyle e le forme infisse \over/\atop/\choose. La copertura va oltre questo elenco: ci sono anche le varianti di confronto (\leqslant), la logica (\land, \vDash), gli operatori di statistica (\argmax), le frecce doppie che si allungano (\xRightarrow) e le parentesi quadre doppie (\llbracket). Valgono anche i commutatori di font del TeX vecchio — {\rm d}x, {\bf A}, {\cal L} — e la notazione di Dirac (\braket{\phi|\psi}). Le macro definite nella formula stessa (\newcommand, \def) valgono fino alla sua fine, i simboli Unicode digitati direttamente (x ∈ ℝ) valgono come i loro comandi, \text{…} accetta matematica tra $…$, e una formula isolata può avere più righe con \\. \label{eq:nome} dentro un blocco $$ numera l'equazione in modalità lettura, con lo stesso contatore di {#eq:nome}, e \eqref{eq:nome} nel testo diventa il numero tra parentesi. Vale anche la grafia LaTeX: \(…\) nella frase e \[…\] in blocco vengono disegnati allo stesso modo — è la forma che ChatGPT emette di solito. Ciò che non sa disegnare continua ad apparire come il testo che hai scritto.
Diagramma commutativo con freccia diagonale (\begin{tikzcd}). \begin{CD} disegna solo frecce orizzontali e verticali; il triangolo commutativo — il diagramma più comune che esista — richiede la diagonale. Ogni oggetto è una cella (& le separa, \\ cambia riga) e la freccia si scrive dentro la cella: A \arrow[r, "f"] \arrow[rd, "g"'] & B. La direzione è una sequenza di r/l/u/d (rd è la diagonale, rr sono due colonne), e \ar e le scorciatoie (\rar, \dar, \drar) sono la stessa freccia. L’etichetta tra virgolette sta sopra una freccia che va a destra; ' (o swap) la mette dall’altro lato, che è ciò che dice se il nome cade dentro o fuori dalla figura. Valgono anche hook (inclusione), two heads (suriezione), dashed, Rightarrow ed equal. La curvatura (bend left) e le opzioni che questo sottoinsieme non disegna vengono rifiutate dicendone il nome: disegnare due frecce curve come rette le sovrapporrebbe, affermando che ce n’è una sola.
Un $ in prosa non diventa formula: in costa $5 e $10 il prezzo resta un prezzo, perché l'apertura non può essere seguita da uno spazio né la chiusura preceduta da uno né seguita da una lettera (è ciò che impedisce a PATH=$dir1:$dir2 di diventare una formula) — e $x$ tra apici inversi resta codice. Quando la formula non compare, LightNote dice perché: una riga sotto il blocco $$ e una sola volta per messaggio distinto quando la formula è in mezzo al testo, indicando il comando o il delimitatore che non è riuscito a leggere. Se la formula è stata incollata nella grafia \(…\) e preferisci $…$, la voce Formatta → Normalizza le formule in $ riscrive la selezione (o l'intera nota) — nell'editor di testo, dove i caratteri della nota sono sullo schermo.
Chimica: mhchem e SMILES
Chimica. Anche la notazione mhchem viene disegnata: \ce{2 H2 + O2 -> 2 H2O} mette i pedici da solo, -> e <=> diventano frecce (con etichetta in ->[\Delta]), Na+ e SO4^2- diventano carica, (aq) e (l) escono dritti e accostati, ^{227}_{90}Th allinea l’isotopo, e v/^ segnano precipitato e gas liberato. \pu{123 kJ//mol} scrive la grandezza con la sua unità: la doppia barra diventa una frazione. L’equilibrio spostato (<=>> e <<=>) disegna la freccia lunga nel verso che la reazione favorisce, i legami scritti per esteso (\bond{~}, \bond{~-}, \bond{...}) sovrappongono i tratti come nei libri, e la notazione di Kröger-Vink (O''_{i,x}, Li^x_{Li}) mette la carica effettiva all’esponente. La variabile esce in corsivo e l’elemento in tondo: in NO_x la x è una variabile, in Fe^{II} il II è il numero di ossidazione.
Strutture in LaTeX (\chemfig). \ce scrive la formula; \chemfig{...} disegna lo scheletro dentro la formula stessa — \chemfig{H_3C-[:30]CH_2-[:-30]OH} è l’etanolo e \chemfig{*6(-=-=-=)} il benzene. L’angolo è tuo: [:30] è assoluto, [::45] è relativo al legame precedente e [3] conta ottavi di giro. I legami sono -, = e ~, e i cunei della stereochimica sono >, <, >:, <:, >| e <| — la punta stretta resta sullo stereocentro. Le parentesi appendono un ramo e *6(...) chiude un anello regolare (**6(...) disegna il cerchio aromatico); da un vertice dell’anello, un legame senza angolo scritto punta verso l’esterno. Il simbolo dell’elemento esce dritto e il tratto si ferma prima della lettera. I nodi di partenza e di arrivo di chemfig ([,,1,2]) sono rifiutati dicendo il motivo: scelgono a quale parte dell’etichetta si attacca il legame, e ignorarli disegnerebbe un’altra struttura. L'anello fuso si scrive dentro il corpo del primo, subito dopo il legame che condividono, e quello interno scrive un legame in meno: quel lato è già disegnato. Il naftalene è \chemfig{*6(-=-*6(-=-=-)=-=)}.
Struttura chimica (SMILES). Un blocco ```smiles con una riga in SMILES (CC(=O)Oc1ccccc1C(=O)O) viene disegnato come formula scheletrica nel modo lettura, nella modifica formattata, nel file esportato e nelle risposte di Chiedi alle note. È il complemento di \ce: quello scrive la formula, questo disegna la molecola. Vale la convenzione dello scheletro: il carbonio non si scrive (è il vertice), l'eteroatomo esce con il simbolo nell'accento del tema e l'anello aromatico (c1ccccc1) riceve il cerchio tratteggiato all'interno. La stereochimica viene disegnata: [C@H] e [C@@H] diventano un cuneo — pieno quando il legame viene in avanti, tratteggiato quando va indietro, con la punta stretta sullo stereocentro —, e F/C=C/F e F/C=C\F escono trans e cis come sono scritti. Ciò che non ha rappresentazione sulla carta (le forme nominate non tetraedriche, come @SP1) è accettato, e la didascalia dentro l’immagine avverte che è stato dichiarato e non disegnato. Un blocco disegna una struttura: uno spazio in mezzo alla riga viene rifiutato, perché in SMILES chiude la struttura. Quando non si riesce a leggere, LightNote dice cosa non va (la parentesi, il numero di anello, l'elemento) e il blocco di codice resta come l'hai scritto. Per iniziare, usa Inserisci → Struttura (SMILES) nella barra della nota.
Calendario nella nota
Un blocco ```calendar disegna un calendario dentro la nota, nel modo lettura, nella modifica formattata e in stampa. È una vera tabella, non un’immagine: si può selezionare, copiare (incollata in Word o in Excel mantiene le celle) e trovare un evento con Ctrl+F. La prima riga dice quale calendario: un mese (2026-09) mostra il mese; una data (2026-09-24) mostra la settimana che la contiene, con i giorni nelle colonne e le ore nelle righe; e week mostra una settimana senza date: l’orario delle lezioni, la routine, i turni. Ogni riga successiva è un evento o un’opzione, e le righe che iniziano con %% sono commenti. Per iniziare, usa Inserisci → Calendario nella barra della nota (mensile, settimanale o settimanale senza date, già compilati con esempi) oppure digita /calendar.
Mese. L’evento inizia con il numero del giorno: 15: Discussione della tesi segna un giorno, 22-26: Congresso segna un intervallo, e 24: senza testo evidenzia solo il giorno. Il testo dell’intervallo compare nel suo primo giorno e, quando passa alla settimana successiva, anche all’inizio della riga seguente.
```calendar
2026-10
15: Discussione della tesi
22-26: Congresso
```
Settimana. L’evento inizia con il nome del giorno — mon, tue,thu o mon-fri — seguito dall’orario: mon 09:00-10:30: Riunione. L’orario si scrive 09:00, 9h30 o solo 9; senza, l’evento va nella riga in alto, quella di tutto il giorno (fri: Consegna). Poiché il giorno è un nome, copiare il blocco nella settimana successiva cambia solo la prima riga. days: mon-fri sceglie le colonne, nell’ordine della lista; hours: 8-18 fissa la fascia (senza, dalle 8 alle 18, allargata per contenere gli eventi; con essa, un evento fuori dalla fascia viene rifiutato); e step: 30 dà i minuti di ogni riga. Un evento lungo scrive il testo, con l’orario, solo nella prima riga e colora le seguenti.
```calendar
2026-10-14
days: mon-fri
mon,wed 09:00-10:30: Riunione del team
tue 14-16: Studio
tue 16-17: Revisione
fri: Consegna del progetto
```
In tutte e tre le forme, title: sostituisce il titolo della barra (nella settimana senza date, la barra compare solo con esso), week: monday fa iniziare la settimana di lunedì (il predefinito è quello della lingua della nota; con days:, vale l’ordine della lista) e today: no toglie il segno di oggi — nella settimana senza date, il segno è il giorno della settimana. Gli eventi che si toccano ricevono colori diversi, per non sembrare uno solo. La lingua dei mesi e dei giorni è quella della nota (la chiave lang del frontmatter), e il fine settimana segue l’uso di quella lingua. Oggi è segnato solo sullo schermo: su carta e in PDF no, perché chi legge lo fa in un altro giorno. Per modificare il calendario, premi Ctrl+Enter su di esso e modifica la sorgente nella barra — scrivere in una cella non cambia nulla, perché la tabella è generata dalla sorgente. Con la barra aperta, la tabella si rifà mentre scrivi; chiudere la barra applica la modifica, e Ctrl+Z annulla l’intera modifica in un solo passo. All’esportazione (Word, OpenDocument, HTML, LaTeX, Markdown di GitHub), il calendario diventa una tabella normale con il titolo. Quando la sorgente non si legge come calendario, LightNote indica la riga e il punto, e il blocco di codice resta come l’hai scritto. Dentro una citazione o un elenco, il calendario compare nel modo lettura e resta codice nella modifica formattata.
Numerazione e riferimenti incrociati
Dai un'etichetta a una figura e in modalità lettura otterrai una
didascalia numerata: {#fig:ciclo}
diventa l'immagine seguita da Figura 1 — Ciclo dell'acqua. La tabella
porta la sua etichetta su una riga che comincia con i due punti, subito sotto:
: Campioni raccolti {#tbl:campioni}. E l'equazione in blocco riceve
il numero nel margine destro quando il $$ di chiusura porta
{#eq:massa}. Questa funzione è disattivata: attivala in Impostazioni → Funzionalità → Accademico → Numerazione e riferimenti incrociati. LightNote è un editor semplice che regge anche una tesi, e chi non scrive lavori accademici non deve pagarlo con menu e opzioni che non usa.-numeracao
Poi basta puntare: @fig:ciclo diventa Figura 1,
[@fig:ciclo] diventa (Figura 1) e -@fig:ciclo
diventa solo il numero. È la stessa grammatica della citazione, di proposito.
Inserire una figura in mezzo rinumera tutto da solo: il conto è del
documento, nell'ordine in cui si legge.
Numerare è facoltativo, tramite l'etichetta: un'immagine senza
{#fig:…} resta esattamente com'è oggi. E un'etichetta che non
esiste resta come l'hai scritta, come la citazione: è l'indizio di un
riferimento rotto.
Sezioni numerate (ABNT NBR 6024): dichiara
section-numbers: true nelle proprietà della nota e i titoli
ricevono l'indicativo — 1, 1.1, 1.1.1 —, allineato a
sinistra, separato da uno spazio e senza punto finale. Un titolo con
{#sec:metodo} può essere richiamato da @sec:metodo;
senza numerazione, il riferimento diventa il titolo della sezione.
Da soli su una riga, [list of figures] e
[list of tables] costruiscono gli elenchi che la norma richiede,
come [TOC] costruisce il sommario. Tutto questo è della modalità
lettura (e del PDF/HTML esportati): nell'editor il file conserva ciò che hai
scritto, ed è questo che permette di rinumerare senza toccare la nota.
Citazioni e riferimenti
Scrivi la citazione nel testo con [@chiave]: la chiave è quella
che l'opera ha nella tua bibliografia. Digitando @, LightNote
suggerisce le opere che conosce, mostrando autore, anno e titolo; nella nota
entra solo la chiave. Valgono anche [@chiave, p. 45] (con la
pagina), [-@chiave] (quando il nome dell'autore è già nella frase) e
[@a; @b] (più opere insieme). Questa funzione è disattivata: attivala in Impostazioni → Funzionalità → Accademico → Citazioni e bibliografia. LightNote è un editor semplice che regge anche una tesi, e chi non scrive lavori accademici non deve pagarlo con menu e opzioni che non usa.-citacoes
In modalità lettura la citazione diventa testo formattato —
(Silva, 2020, p. 45) — e il token [bibliography] da solo su
una riga diventa l'elenco delle opere citate, nell'ordine richiesto dallo
stile. Nell'editor la chiave resta in vista, perché è quella che modifichi.
La bibliografia è un file del tuo spazio di lavoro: qualsiasi
.bib, .ris o .csl.json nella cartella
conta. È questo che le permette di viaggiare con le note tramite Git o una
chiavetta e di continuare a funzionare su un altro computer. Aprire uno di quei
file mostra l'elenco delle opere con la chiave di ciascuna, pronta da
copiare.
Per aggiungere opere: Strumenti → Bibliografia → Aggiungi opera tramite DOI accetta un DOI o un identificatore arXiv e recupera il resto da solo; e Importa da Zotero legge la biblioteca dello Zotero 7 aperto su questo computer (prima spunta Preferenze → Avanzate → Consenti ad altre applicazioni di questo computer di comunicare con Zotero).
Lo stile è della cartella, e una nota può dissentire. Scegli quello
predefinito in Strumenti → Configurazione dello spazio di lavoro →
Citazioni (ABNT, APA 7 o Vancouver); una nota diretta altrove dichiara
citation-style: apa nelle sue proprietà. Una chiave che non esiste
nella bibliografia resta come l'hai scritta, così vedi quale
correggere.
Grafo delle connessioni
Strumenti › Grafo delle connessioni (Ctrl+Alt+G) mostra
ogni nota dello spazio di lavoro come un grafo interattivo: ogni nodo è una
nota .md, ogni linea un wikilink. I nodi si dispongono da soli
(fisica animata) e possono essere trascinati; passandoci sopra vengono
evidenziati i vicini e sfumato il resto; il clic apre la nota. Scorri
per lo zoom (i nomi appaiono avvicinandosi) e trascina lo sfondo per
spostarti.
Sulla barra degli strumenti della scheda: filtro per nome (sfuma le note non corrispondenti), un interruttore per le note orfane (senza alcun collegamento — mostrate in grigio), cursori delle forze (repulsione, distanza e gravità), adatta il grafo alla finestra e riesegui la scansione delle note. Più connessioni ha una nota, più grande è il suo nodo; ogni cartella di primo livello ha il proprio colore.
Note simili. La mini-barra Connessioni, dentro la nota stessa, elenca i link in entrata, quelli in uscita e le menzioni per nome. In fondo c'è la sezione Note simili: note che parlano di argomenti vicini anche senza link né parole in comune. Viene calcolata quando lo chiedi (clic su Calcola), non a ogni cambio di nota, perché percorrere l'indice costa letture da disco. Ogni riga mostra il nome, quanto è vicina e il frammento che ha motivato il suggerimento: senza quella prova non ci sarebbe modo di giudicarlo. Non spende nessuna chiamata di IA: usa l'indice di significato che esiste già, quindi la sezione compare solo con il rinforzo semantico (embedding) attivo in Impostazioni → Generale → Funzioni.
Tabelle (Parquet, CSV, JSON, Excel)
Aprire e interrogare
I file .parquet si aprono come tabella; .csv,
.tsv e .json si aprono come testo, e il menu
contestuale dell'albero offre Apri come tabella. La lettura è
paginata (su richiesta) tramite DuckDB, con ordinamento
(clic sull'intestazione) e filtro delegati al motore. Il pulsante
Struttura mostra colonne, tipi, numero di righe e, per Parquet, i
row-group e la compressione. La vista è di sola lettura.
La barra SQL libero in cima alla tabella accetta qualsiasi query
DuckDB — la vista t rappresenta il file aperto. Dal menu
contestuale di una cartella nell'albero, Apri cartella come
tabella legge tutti i file dello stesso formato come un'unica tabella; dal
menu della tabella puoi esportare la vista corrente (CSV/Parquet/JSON),
e dal menu dell'albero convertire un file tabellare in un altro
formato. L'SQL libero è disponibile anche nel comando query della
riga di comando e nell'MCP.
I fogli di calcolo Excel (.xlsx) si aprono come tabella
di sola lettura con un selettore di foglio — un lettore leggero, senza
bisogno di Excel installato.
Fogli Excel
Fedele al file. Il foglio compare con la formattazione del file
stesso: numero, valuta, percentuale e data seguono il formato impostato in Excel —
un valore salvato come 3750.5 con formato valuta appare come
3.750,50 €, e una percentuale esce come 15% invece di
0,15. Dal file arrivano anche il carattere (nome, dimensione, grassetto,
corsivo, sottolineato), il colore del testo, il colore di riempimento, i bordi
di ogni cella, l'allineamento, il ritorno a capo, il rientro, il testo ruotato e la
larghezza delle colonne. I numeri stanno a destra e il testo a sinistra, come in
Excel.
Quando il foglio porta colori propri, la griglia viene disegnata su sfondo bianco: i colori di Excel sono stati scelti per la carta bianca e sarebbero illeggibili sul tema scuro. Un file senza alcuna formattazione continua a seguire il tema di LightNote. Il foglio si apre nell'ordine in cui è stato scritto — un clic su un'intestazione ordina, come nelle altre tabelle.
Layout originale e zoom. Quando il foglio usa celle unite, altezze di riga proprie o nasconde la griglia, la scheda si apre in modalità Layout originale (pulsante nella barra), che riproduce quella geometria come in Excel. La modalità governa solo la geometria — colore, carattere, bordi e formato numerico valgono in entrambe — e, finché è attiva, ordinare e filtrare non sono disponibili, perché riordinare lascerebbe la fascia unita sulla riga sbagliata; disattivi il pulsante per tornare a ordinare. Un foglio senza nulla di tutto ciò si apre in modalità normale. Lo zoom è lo stesso di tutte le viste e sta nella barra di stato (vedi Spazio di lavoro e finestre); Ctrl+rotella del mouse funziona anche sulla griglia. Un foglio formattato come Tabella di Excel appare anch'esso colorato: il suo stile è incluso in Excel e non viaggia nel file, quindi intestazione e fasce vengono ricostruite dal tema.
Copiare, filtrare e grafico
Copia come. Nel menu contestuale di qualsiasi tabella di LightNote (Parquet/CSV/JSON, Excel, risultati SQL, Attività, Basi), la voce Copia come mette la selezione negli appunti già formattata. Tabella formattata (Teams, Outlook…) si incolla come una tabella vera, con bordi e intestazione, nei programmi che capiscono il testo formattato — Teams, Outlook, Word, Excel (dove non c'è testo formattato, ripiega automaticamente su TSV). Gli altri si incollano come testo: tabella Markdown (pronta per una nota), CSV (virgolette secondo la RFC 4180), TSV (separato da tabulazioni), HTML (il markup <table>), JSON, JSONL (un record per riga), YAML e il sottomenu Codice, che genera un letterale pronto da incollare in un file sorgente: Python (lista di dizionari) o JavaScript / TypeScript (array di oggetti). In JSON, YAML e codice le celle che sono numeri escono senza virgolette — ma il testo originale è preservato, quindi ID come 007 restano testo. Ctrl+C continua a copiare in TSV, come prima.
Tutte le tabelle si comportano allo stesso modo: Ctrl+F mette a fuoco il filtro rapido ("contiene in qualsiasi colonna"), un contatore mostra quante righe restano e c'è Esporta in CSV — anche nei fogli .xlsx, nelle Attività e nelle Basi. Il menu contestuale della griglia offre ancora Copia come.
Grafico del risultato. La barra laterale della tabella ha un pulsante Grafico (barre, linea o dispersione): l'aggregazione viene eseguita in DuckDB (nessuna riga grezza viene caricata) e un pulsante Aggiungi alla nota del giorno salva il grafico come immagine. Il pannello Struttura include inoltre un profilo per colonna — un mini-istogramma delle colonne numeriche e i valori più comuni delle altre.
Più grafici e tabella pivot. Per incrociare due campi e aggregarne un terzo — e per conservare più di un grafico per tabella — vedi Area di analisi.
Area di analisi: tabella pivot e più grafici
Il grafico e la statistica
La scheda di una tabella ha due modalità, sui pulsanti Dati e Analisi della barra. Dati è la tabella di sempre; Analisi è una lavagna in cui convivono quanti grafici e tabelle pivot vuoi sulla stessa fonte — ognuno in un riquadro, con titolo modificabile, un pulsante a ingranaggio che mostra i selettori e un menu ⋮ (sposta, duplica, rimuovi).
Statistica vera. Oltre a barre, linea e dispersione, il grafico fa un box plot: una scatola per categoria con i quartili, la mediana a tratto spesso e i baffi alla recinzione di Tukey (1,5 × IQR) — e non al minimo e al massimo. Sulla media di una colonna, il selettore Errore aggiunge il baffo di dispersione: ± deviazione standard (che descrive i dati), ± errore standard o ± IC 95% (che descrivono la precisione della media stessa). Tutti e tre compaiono solo con la media scelta, perché "somma ± deviazione" non vuol dire niente. La casella Asse Y log mette la scala logaritmica, per dati che coprono ordini di grandezza; se c'è un valore zero o negativo viene ignorata con un avviso, perché lì il logaritmo non esiste e scartare il punto in silenzio farebbe mentire il grafico. Nella dispersione, Tendenza disegna la retta di regressione con l'R², adattata nel database su tutte le righe — e non sui punti campionati mostrati a schermo. Sotto il disegno resta una riga di statistica descrittiva della colonna scelta (n, media, deviazione, IC 95%, minimo, quartili, mediana e massimo), che è una query a sé: ricavarla dalle barre darebbe la media delle medie, che coincide con la media vera solo se tutti i gruppi hanno la stessa dimensione.
Tabella pivot e totali
Tabella pivot. Scegli i campi che vanno in Righe e in Colonne (se ne possono annidare più di uno per asse; trascinando si riordinano i livelli), il campo in Valore e come ridurlo: Somma, Conteggio, Conteggio dei distinti, Media, Minimo o Massimo. Senza campo in Valore si contano le righe. È anche nella mini-barra laterale della tabella, accanto al Grafico, per una consultazione rapida senza uscire dai dati.
L'aggregazione gira nel database e torna già ridotta: nessuna riga grezza sale, quindi un Parquet da decine di milioni di righe resta praticabile. Poiché la query è SQL standard, la tabella pivot funziona su tutti i database del client SQL (SQLite, DuckDB, PostgreSQL, MySQL, SQL Server e Oracle), e non solo su DuckDB come il grafico.
Totali. Le caselle Totali di riga e Totali di colonna aggiungono la riga e la colonna di chiusura. Nella Media il totale è ponderato, non la media delle medie — che sarebbe sbagliata quando i gruppi hanno dimensioni diverse. Il Conteggio dei distinti non può essere totalizzato (l'unione di insiemi distinti non deriva dalla somma delle parti), quindi lì le caselle restano disabilitate, con il motivo nel suggerimento, invece di mostrare un numero sbagliato.
Dove viene salvato, CSV e raggruppare
Dove viene salvata l'analisi. In un JSON accanto al file di dati (vendite.parquet → vendite.parquet.analysis.json): un formato aperto, che finisce in Git insieme al dato e viaggia con esso verso un collega. Il pulsante File dell'analisi apre quel JSON in una scheda, e svuotare l'analisi cancella il file. Un'intera cartella aperta come tabella non ha un percorso proprio, quindi quell'analisi non viene salvata: il pulsante lo dice. Ogni riquadro ha inoltre Aggiungi alla nota del giorno: il grafico va come immagine e la tabella pivot come tabella Markdown, che nella nota resta testo da copiare e modificare.
Con un CSV, un gesto solo — e una via d'uscita quando il separatore inganna. Apri come tabella apre con DuckDB, con SQL libero, grafico, tabella pivot e area di analisi. A volte il separatore non viene riconosciuto (di solito per righe con un numero di colonne diverso) e la tabella arriva con una sola colonna, con l'intera riga dentro. Quando succede, sopra la tabella compare una fascia che dice quante colonne sembra avere il file e offre la lettura tollerante: legge riga per riga senza pretendere colonne uguali — è la stessa lettura che usano la ricerca e l'IA — e filtra e ordina, ma non ha SQL libero, grafico né tabella pivot. Per un testo non ancora salvato, o con un delimitatore scelto a mano, usa Visualizza → Visualizza come file delimitato….
Raggruppare per schema. In una colonna di date o di codici i valori distinti sono quasi quanti le righe, e raggruppare per essi non dice nulla. La maschera di schema trasforma ogni lettera in A e ogni cifra in N, lasciando il resto: 2027/10/10 diventa NNNN/NN/NN. Milioni di righe si riducono così a due o tre forme, e ciò che sfugge a esse è esattamente il dato sporco (la data arrivata come 10-10-2027, il codice senza il prefisso). Nel grafico è la casella Schema accanto all'asse X; nella tabella pivot, il tasto destro sulla pillola di un campo (vale per campo, così da incrociare la forma di un codice con una dimensione normale); e nel pannello Struttura gli schemi più comuni compaiono sotto i valori più comuni di ogni colonna. Il calcolo gira nel database. Su SQLite e sull'ODBC generico l'opzione resta disabilitata con il motivo: manca la funzione di testo su cui la maschera si basa.
PDF e immagini
I file .pdf si aprono in un visualizzatore nativo (Qt6::Pdf, senza dipendenze pesanti), reso dalla CPU e senza WebEngine. Le immagini si aprono nella vista immagine; le GIF animate vengono riprodotte nella vista animata.
La barra della scheda offre sei pannelli laterali, uno alla volta: Sommario (l'indice salvato nel file stesso — quando il PDF non ce l'ha, il pulsante resta disattivato e lo spiega), Miniature (le pagine a colpo d'occhio, renderizzate mentre scorri), Cerca, Link, Proprietà (titolo, autore, date, dimensione della pagina e del file) e Evidenziazioni (i passaggi che hai evidenziato, in ordine di lettura).
Cerca (Ctrl+F) percorre l'intero documento: le corrispondenze vengono evidenziate sulle pagine ed elencate con il testo circostante, e F3 / Shift+F3 passano dall'una all'altra. La scansione è progressiva, quindi l'elenco cresce mentre il documento viene percorso.
Il campo pagina accetta il numero o l'etichetta stampata: in un documento con le pagine iniziali numerate in romano, digitare 1 porta alla pagina stampata "1", non al primo foglio. Il pulsante modalità pagina alterna tra scorrimento continuo e una pagina alla volta.
Un PDF protetto da password chiede la password all'apertura (fino a tre tentativi); annullare lascia semplicemente la scheda chiusa. Nella stessa esecuzione di LightNote la password non viene richiesta di nuovo: l'applicazione riapre la scheda da sola quando la rilascia per inattività, e sarebbe lei stessa a creare il fastidio. Spuntando "Ricorda la password di questo file" nella richiesta, vale anche per le esecuzioni successive: è protetta da Windows (solo per te, solo su questa macchina), non va mai su Git né sul cloud e non viene inclusa nell'esportazione delle impostazioni. Per cancellarle tutte: Impostazioni → Funzionalità → Password PDF. Un PDF protetto non viene riaperto all'avvio: invece di accodare richieste di password prima di mostrare la finestra, aspetta che sia tu ad aprirlo.
Dal menu delle azioni della barra: copiare il testo della pagina, esportare il testo dell'intero documento, copiare o salvare la pagina come immagine e inviare la pagina alla nota del giorno. Il pannello Link esiste perché il componente PDF di Qt segue da solo i link interni ma ignora quelli esterni: è lì che si apre un indirizzo web, con conferma.
Evidenziare. Il pulsante Evidenzia attiva l'evidenziatore: trascina sul testo della pagina e il passaggio resta evidenziato; la freccia accanto sceglie il colore. L'evidenziazione si aggancia al testo, non a un rettangolo — per questo segue lo zoom e il modo di pagina senza spostarsi, e per questo non funziona su un PDF scansionato, che non ha lo strato di testo (l'applicazione lo dice invece di non fare nulla). Nel pannello Evidenziazioni, un clic salta alla pagina e il menu contestuale annota, copia il passaggio o lo elimina. Nel menu delle azioni della barra, Copia le evidenziazioni e Salva le evidenziazioni come nota… scrivono la scheda di lettura in Markdown: ogni passaggio in una citazione e, per pagina, un link che apre il PDF lì (articolo.pdf#page=12). Il prezzo: le evidenziazioni sono salvate in un file accanto al PDF (articolo.pdf.highlights.json, testo leggibile e versionabile con Git) e non dentro di esso — quindi compaiono in LightNote e non in un altro lettore di PDF. Se il file viene sostituito da un'altra versione, l'evidenziazione che ha perso il posto viene segnalata come tale invece di essere dipinta sulla frase sbagliata.
Limite: fuori dall'evidenziatore non c'è selezione del testo con il mouse, perché il componente PDF di Qt non la offre. Per portare via il contenuto, usa "copia il testo di questa pagina", l'esportazione del documento o l'evidenziazione stessa.
Immagini: annotare uno screenshot
Gli strumenti
Un'immagine si apre in una scheda con barra propria: oltre a ruotare, specchiare e ingrandire, porta con sé gli strumenti di annotazione — la strada che va dallo screenshot all'indicare ciò che conta, fino alla documentazione. E non serve avere uno screenshot per cominciare: Nuovo → Nuova immagine vuota crea un foglio bianco .png nella cartella marcata e lo apre già con la Penna in mano — Sposta, che è il valore predefinito all'apertura di un'immagine, qui non avrebbe nulla da trascinare.
Lo strumento iniziale è Sposta: trascinare continua a spostare l'immagine, come è sempre stato. Seleziona sceglie una parte — trascina per crearla, trascina dall'interno per spostarla e usa le maniglie degli angoli e dei bordi per ridimensionarla; Esc deseleziona e Canc cancella il contenuto della regione. Nella modalità Sposta, Shift+trascina seleziona anch'esso. In qualunque strumento, il tasto centrale del mouse sposta l'immagine.
Il Contagocce preleva un colore dall'immagine stessa: il tasto sinistro lo porta al colore del bordo, il destro a quello di riempimento. Legge dall'immagine già annotata, quindi serve anche a ripetere il colore di un'annotazione appena fatta.
Gli altri disegnano: Rettangolo, Ellisse, Freccia, Linea, Evidenziazione (traslucida, come un evidenziatore), Penna (tratto libero), Pennello, Passo numerato (che si numera da solo — 1, 2, 3...), Testo, Sfoca e Riflettore (scurisce tutto tranne la regione scelta). Mentre si disegna, Shift blocca quadrati/cerchi e angoli di 45°.
Colori, spessore e sfocatura
I colori sono due, in due pulsanti: quello del bordo (che è anche quello del tratto e dell'etichetta) e quello di riempimento, che può essere nessuno. Senza riempimento, rettangolo ed ellisse restano di solo contorno, e il passo numerato e il testo usano il colore del bordo come sfondo, con l'etichetta in bianco o in nero — quello che contrasta. Scegliendo un riempimento, esso diventa l'interno della forma e lo sfondo dell'etichetta, e il bordo diventa il colore del testo.
Il Pennello dipinge con il riempimento, con un tocco delle dimensioni dello spessore — tondo o quadrato, dal pulsante accanto allo spessore. Un solo clic lascia già il segno. Con il riempimento bianco è la gomma: copre ciò che sta sotto.
Lo spessore vale per il tratto, per la dimensione dell'etichetta e per la dimensione del blocco della sfocatura; è attenuato negli strumenti che lo ignorano. Colore e spessore vengono ricordati fra una sessione e l'altra. Ctrl+Z e Ctrl+Y annullano e ripetono le annotazioni, e Cancella annotazioni le elimina tutte in una volta (anch'esso annullabile).
Sfocare serve a nascondere (un token, un indirizzo e-mail, un percorso). Finché la scheda è aperta l'annotazione è reversibile, ma al salvataggio o alla copia i pixel di quella regione vengono davvero distrutti: il file che esce non conserva l'originale da nessuna parte.
Taglia, incolla, ruota e cattura
Tre operazioni hanno nomi simili e fanno cose diverse. Taglia (Ctrl+X) copia la selezione negli appunti e cancella la regione, dipingendola con il colore di riempimento (bianco quando non c'è) — e la selezione resta lì, così che Incolla subito dopo riporti il pezzo esattamente dov'era, fluttuante: è così che si sposta un pezzo dell'immagine. Canc è il taglia senza copiare. Invece Mantieni solo la selezione, nel menu Immagine, fa l'opposto: tiene la regione e butta via il resto, cambiando la dimensione dell'immagine.
Il resto della famiglia: Copia porta via l'immagine annotata o solo la selezione; Incolla porta l'immagine dagli appunti come un incollaggio fluttuante — spostalo e ridimensionalo con le stesse maniglie e fai clic fuori (o premi Invio) per fissarlo, Esc lo scarta; e Ctrl+A (o Ctrl+T) seleziona tutta l'immagine. Ci sono poi Salva (scrive le annotazioni nel file stesso), Salva come... e Invia alla nota del giorno, che salva il PNG in Anexos/ e inserisce il ![]() nella nota. Finché ci sono annotazioni non salvate la scheda mantiene l'asterisco, e chiuderla chiede se vuoi salvare.
Il pulsante Immagine raccoglie tutto ciò che agisce sull'immagine intera: ruota, specchia, ridimensiona in percentuale, riduci a 1600 / 1200 / 800 px di larghezza (uno screenshot nasce troppo grande per la documentazione), rifila i bordi di colore uniforme, aggiungi margine, ombra esterna e fissa le annotazioni nell'immagine — quest'ultimo trasforma subito le annotazioni in pixel, ed è ciò che permette di sfocare sopra un'annotazione. Il ridimensionamento porta con sé le annotazioni e lo spessore del tratto.
Per catturare lo schermo senza uscire da LightNote: Cattura schermo... nel menu dell'area di notifica (o Ctrl+Alt+P) congela il desktop, si trascina per scegliere l'area (Esc annulla) e il ritaglio si apre in una scheda nuova, già pronto per essere annotato.
Limitazioni: un'annotazione già disegnata non si sposta né si modifica — annullala con Ctrl+Z e rifalla; i GIF e i WebP animati si aprono nella vista di animazione, che non ha annotazione; e un .svg viene rasterizzato in lettura, quindi il salvataggio chiede una destinazione PNG.
Pagine HTML (.html)
Un .html aperto dall'albero diventa una scheda di anteprima con un vero motore di impaginazione: flexbox, blocchi flottanti, posizionamento, media query, gradienti, variabili CSS e selettori CSS3. È ciò che fa sì che un report moderno — quello che genera un'IA, con schede di indicatori, tabella e grafico — appaia come nel browser invece di ridursi a un muro di testo.
Il testo è selezionabile: trascina per selezionare, doppio clic per prendere una parola, Ctrl+A seleziona l'intera pagina e Ctrl+C copia (il menu contestuale offre Copia e Seleziona tutto).
La barra in alto offre il Sommario (i titoli della pagina; fai clic per saltare) e Cerca (Ctrl+F — evidenzia tutte le occorrenze, F3 e Shift+F3 si spostano tra loro, Esc chiude). Lo zoom ha lasciato la barra della scheda: sta in un unico posto, la barra di stato, come in tutte le viste (vedi Spazio di lavoro e finestre).
Esporta PDF impagina la pagina in A4 con il testo vettoriale — il PDF resta ricercabile e il testo selezionabile. La scheda inoltre segue il file sul disco: se rigeneri il report, si aggiorna da sola senza perdere la posizione di lettura. E una pagina che non ha scelto i propri colori segue il tema dell'applicazione; quella che definisce i suoi viene mostrata come è stata disegnata.
I collegamenti funzionano: un collegamento a un altro file della stessa cartella si apre qui, #ancora scorre fino alla sezione e un indirizzo web si apre nel browser.
Quello che non fa è JavaScript e rete — non scarica nulla. Quando la pagina dipende da questo (script, <canvas>, <iframe> o una risorsa remota), compare una fascia con Apri nel browser. Consiglio per i report: chiedi all'IA un HTML senza JavaScript e senza CDN, con il grafico in SVG incorporato — così si apre completo qui dentro.
Ciononostante, alcune cose rispondono al clic, senza eseguire alcuno script: un riquadro <details> si apre e si chiude dall'intestazione (e la barra guadagna Espandi tutto quando la pagina ne ha uno), un gruppo di schede cambia il pannello visibile, e fare clic sull'intestazione di una tabella ordina le righe — un altro clic sulla stessa colonna inverte l'ordine, e una colonna di numeri si ordina per valore, non come testo. Quando la coppia scheda→pannello non è inequivocabile, non viene cambiato nulla: la pagina resta esattamente com'era.
Due aggiustamenti avvengono da soli, perché il motore non li ha: display:grid e gap diventano il flexbox equivalente e il <svg> incorporato viene disegnato. box-shadow è ignorato. Per tornare al visualizzatore precedente, deseleziona Visualizzatore HTML con impaginazione completa in Impostazioni → Generale → Funzionalità.
Stampa
File → Stampa… (Ctrl+P) apre un’anteprima impaginata: il foglio appare come uscirà, con i margini, l’interruzione di pagina e la numerazione. Il pulsante di stampa sta al suo interno, accanto allo zoom, alla navigazione tra le pagine e alla configurazione della carta. Si stampano la nota, il codice, la pagina HTML, l’immagine e il PDF aperto; nelle altre schermate la voce resta in grigio e dice perché. Lo stesso pulsante si trova nella barra della schermata stessa: nella nota, accanto a quello per esportare; e nel codice, nel PDF, nell'immagine e nella pagina HTML, nella barra di ciascuno.
Sulla carta arriva ciò che mostra la modalità lettura: transclusione risolta, numerazione delle figure al suo posto e il commento privato (%%…%%) fuori. Con un tema di contenuto scuro il foglio esce su carta bianca — una pagina nera consumerebbe inchiostro e stonerebbe con qualsiasi documento consegnato a qualcuno. I margini sono di 20 mm ai lati e 15 mm sopra e sotto, e il piè di pagina porta Pagina X di Y. Nell'anteprima, il pulsante Margini alterna tra i margini del documento e il minimo raggiungibile dalla stampante; in un PDF e in un'immagine parte dal minimo, perché lì il file porta già il proprio margine. Accanto, Tema cambia i colori dello stampato: il valore predefinito è automatico (è quello che trasforma un tema scuro in carta bianca), e l'elenco propone i temi chiari del catalogo e i suoi — chi legge in Dracula Dark può stampare in Dracula Light, lo stesso linguaggio di colore fatto per la carta. Gli scuri restano fuori perché sulla carta colorerebbero l'intero foglio. Il tema già in uso è contrassegnato con (in uso) nell'elenco: sceglierlo non cambia il foglio.
Nel codice, la sintassi esce colorata su carta bianca, con i numeri di riga nel margine, e la riga lunga va a capo invece di essere tagliata: sulla carta non c’è scorrimento orizzontale per raggiungere ciò che supera il margine. L’immagine esce con le marcature che hai disegnato, e un’immagine piccola non viene ingrandita — esce nella sua dimensione, centrata sul foglio. Una GIF stampa il fotogramma attualmente a video.
Stampare un PDF da LightNote rasterizza le pagine, e le tue evidenziazioni vanno con loro; per la migliore qualità tipografica, stampa il PDF dal lettore di sistema, dove il testo resta vettoriale. L’esportazione in PDF (File → Esporta nota) è un’altra cosa e resta com’è sempre stata: chi vuole il numero di pagina o i margini di documento anche nel file spunta le due caselle in Esporta con opzioni…, che partono disattivate per non cambiare il PDF di chi già esporta. In un documento molto lungo l'anteprima viene saltata, perché tiene tutte le pagine in memoria contemporaneamente; l'app passa direttamente alla finestra di stampa, che non ha questo limite.
Zip come cartella (.zip)
Un file .zip si apre nella propria scheda: l'albero dei membri
a sinistra (nome, dimensione, data) e il contenuto del membro selezionato a
destra — testo/codice, Markdown (renderizzato), immagine o PDF — aperto
in memoria, senza estrarre nulla su disco. Testo e Markdown possono
essere modificati: Ctrl+S riscrive il membro all'interno dello
stesso .zip.
La stessa scheda apre .7z, .rar, .tar (inclusi .tar.gz, .tar.bz2 e .tar.xz), .cab e .iso — questi in sola lettura: si può navigare, visualizzare ed estrarre membri, ma non modificare. Solo lo .zip è scrivibile, perché è l'unico formato che sappiamo riscrivere in sicurezza (il .rar è proprietario e nemmeno le librerie libere lo comprimono).
Immagini e PDF sono di sola lettura; i membri molto grandi (e
.parquet) offrono solo Estrai in…. Creare, rinominare o
eliminare membri non è supportato.
I membri protetti da password si leggono normalmente: aprendone uno, LightNote chiede la password (fino a tre tentativi) e, spuntando "Ricorda la password di questo file", non chiede più — nella stessa esecuzione per impostazione predefinita e anche in quelle successive se la casella è spuntata (protetta da Windows, solo per te su questa macchina; cancellale tutte in Impostazioni → Funzionalità). Nota una differenza del formato rispetto al PDF: nello .zip la cifratura è per membro e l'indice resta in chiaro, quindi l'elenco dei file si vede per intero anche senza password: è protetto solo il contenuto. Uno .zip con membri cifrati non viene riaperto all'avvio.
Blocchi (.lnb)
Un bundle di Blocchi è una cartella il cui nome termina in
.lnb, trattata come un singolo elemento nell'albero (doppio clic
per aprirla). Ogni blocco è un file reale su disco; l'ordine risiede in un
blocks.json nella radice del bundle. Funziona come un notebook:
celle impilate di codice o testo. Un notebook Jupyter entra da qui: clic destro su un .ipynb nell'albero e scegli Importa come Blocchi (.lnb). Ogni cella diventa un file vero — versionabile e letto dalla ricerca — e il .ipynb resta dov'era, perché importare non è convertire. Gli output salvati nel notebook non vengono: eseguire la cella qui produce il risultato vero, con istante e comando.
Ogni cella ha un nome, un pulsante di tipo (imposta l'interprete/lexer) e pulsanti per copiare, inserire, eliminare ed eseguire. Esegui fino a qui esegue in sequenza tutte le celle di codice fino a quella corrente; l'output (stdout+stderr) appare in un pannello subito sotto la cella. Creane uno dall'albero (Nuovo) o tramite File → Nuovo.
Ctrl+Invio esegue la cella con il focus — lo stesso gesto dell'editor SQL.
Il risultato viene salvato (come in un quaderno di laboratorio): al
termine, ogni esecuzione diventa un file .md dentro
saida/<cella>/, nel bundle stesso — con l'istante, il codice di
uscita, la durata, il comando e l'output stesso. Essendo Markdown, si legge in
qualsiasi editor, si versiona in Git insieme al notebook e viene ritrovato da
Chat IA. Riaprendo il bundle torna la
striscia Ultima esecuzione sopra il pannello: cliccala per vedere il
risultato senza rieseguire.
Cronologia: il pulsante Cronologia accanto a quella striscia elenca
le esecuzioni precedenti di quella cella (istante e codice di uscita) — utile per
confrontare ciò che la stessa cella ha restituito nel tempo. Conserviamo le
10 più recenti per cella; per cambiarlo, modifica la chiave
historyLimit nel blocks.json del bundle (0
disattiva il salvataggio). L'output molto grande viene tagliato (il file indica
truncated: true). Rinominare la cella o cambiarne il tipo porta con sé
la cronologia; eliminare la cella manda la sua cronologia nel Cestino.
Cella SQL su un database vero: punta il notebook a una
connessione .lnc dalla striscia in alto
(Scegli connessione…) e le celle di tipo sql iniziano a eseguire sul
database, non tramite un interprete. Il risultato di un SELECT
diventa una tabella nel file di output (Markdown vero, che qualsiasi
visualizzatore mostra formattato); INSERT/UPDATE e simili
riportano quante righe sono cambiate, e un errore del database interrompe lo script
registrando l'istruzione fallita. Portiamo fino a 100 righe per query (il file
avvisa quando ce n'erano di più) — il risultato è un'annotazione, non una copia della
tabella.
La connessione vive nel blocks.json come percorso relativo,
quindi il notebook continua a funzionare spostando o sincronizzando la cartella. Per
un notebook autonomo, tieni il .lnc stesso dentro il bundle: conta come
configurazione, non diventa una cella. È la stessa connessione della scheda
Database — connettersi in un punto vale anche nell'altro, e la
password segue le regole della Passphrase. Senza
connessione impostata, una cella sql continua a girare con l'interprete configurato,
come prima.
Attività (Kanban / Gantt)
Un bundle di Attività (.lnt) apre una bacheca con le viste
Kanban (colonne di stato, trascina le schede), Gantt
(pianificazione basata sull'impegno) e calendario. Ogni attività può
avere un titolo, una colonna (stato), un impegno in ore e una nota
.md associata. Le attività sono raggiungibili anche dall'IA,
tramite MCP e CLI (creare, spostare,
aggiornare, leggere/scrivere la nota).
La nota dell'attività è una nota come le altre. Il pannello incorporato mostra ora la stessa schermata delle note .md: Ctrl+E alterna editor di testo, lettura e modifica formattata, e valgono il tema della nota, il sommario e le proprietà. Continua a salvarsi da sola — compreso quello che hai appena scritto in modalità formattata, quando cambi attività o chiudi la scheda. Aprire la nota in una scheda propria segue anche la tua preferenza di vista, invece di imporre l'editor di testo.
Campi per attività: oltre a stato e impegno, ogni attività ha una priorità (colora il bordo della scheda e ordina la Tabella), una data di scadenza (chip rosso se in ritardo), più tag, una checklist di sottoattività (badge di avanzamento sulla scheda) e la ricorrenza (completare un'attività ricorrente genera l'occorrenza successiva). Modificali dal menu contestuale (Tabella/Kanban) e nel pannello Proprietà.
Cattura ed elenchi: l'Attività rapida del tray comprende il linguaggio naturale (es. Pay bill tomorrow 5pm #home !high; le parole di data, ora e priorità sono riconosciute in inglese e in portoghese). Il pulsante Modelli salva/applica modelli di attività; gli elenchi per scadenza filtrano Oggi/Prossimi 7 giorni/In ritardo; le Visualizzazioni salvate memorizzano filtro+ordinamento; e il tray/Launcher mostrano i promemoria per le attività in scadenza oggi o in ritardo.
Bacheca Kanban: puoi raggruppare le colonne per stato, priorità o tag, creare corsie (swimlane), impostare limiti WIP per colonna (l'intestazione diventa rossa se superata) e ordinare le schede. Navigazione da tastiera in stile Linear: ←/→ spostano il focus, Ctrl+←/→ spostano la scheda, N crea, Spazio completa/riapre e Canc elimina. C'è anche la vista Calendario (per data di scadenza).
Nota incorporata: selezionare un'attività mostra la sua nota
.md accanto alle viste (salvata automaticamente quando cambi
attività); il pulsante Nota attiva/disattiva l'editor e Apri nota in
una scheda la apre nella propria scheda. Archiviare un'attività la
nasconde da tutte le viste; l'interruttore Mostra archiviati rivela
quelle archiviate (attenuate).
Nelle Impostazioni delle attività puoi impostare Archivia le attività completate dopo N giorni: all'apertura della bacheca, le attività rimaste nell'ultima colonna più a lungo di così vengono archiviate automaticamente (0 = disattivato).
La nota si apre incorporata per impostazione predefinita (doppio clic sull'attività) e si salva da sola mentre scrivi: le Attività non chiedono mai "salvare?" alla chiusura. Dentro la nota funzionano le azioni IA (Ctrl+K / Ctrl+I).
Barra della scheda. Le azioni che dipendono dall'attività selezionata (Elimina, Dipendenze, Cronologia (Git)) e Esporta CSV stanno nel pulsante ⋮. Il pulsante Viste raccoglie gli elenchi per scadenza, le viste salvate e mostra archiviate — tutti agiscono sulla Tabella. Ctrl+F mette a fuoco il filtro rapido e il contatore a destra mostra quante attività ha lasciato il filtro.
Tabella personalizzata (.lnd)
Una Tabella personalizzata (.lnd, sotto
File → Nuovo) è il tuo mini-database: definisci le colonne a
runtime — testo, numero, data, elenco fisso con colori, percorso,
tag e password — e compili le righe come un foglio di calcolo,
con ordinamento e filtro. Un campo percorso raggruppa le righe in un
albero (es. Casa/Ufficio).
Le celle Password sono cifrate singolarmente con la Passphrase e rivelate su richiesta. Come le Attività, il bundle persiste come testo Git-friendly (NDJSON) — può essere versionato e unito (merge) tra macchine diverse.
Nelle colonne di testo, aprire una cella mostra un editor
multilinea flottante: Invio inserisce un'interruzione di riga e
Ctrl+Invio conferma; la griglia mostra il testo su una sola riga (con
…) e il contenuto completo nel tooltip. Per cambiare il tipo di
una colonna, usa il menu dell'intestazione: convertire
testo → password cifra i valori con la Passphrase; convertire
password → testo chiede conferma e il PIN/Passphrase e scrive il
contenuto come testo semplice (irreversibile). Le altre conversioni
mantengono i valori.
Base (query salvate sulle note)
Una Base (.lnq, in File → Nuovo → Nuova Base) è una
query salvata sulle tue note: filtra per tipo e per proprietà e
vedi il risultato come tabella o bacheca. La Base non conserva alcun
dato: le righe sono le tue note .md e la fonte di verità di ogni
cella è il frontmatter della nota. Eliminare un .lnq non perde
alcuna nota.
Modificare la cella scrive nella nota. Nella tabella, cambiare una proprietà riscrive solo quella riga del frontmatter del file. Nella bacheca, trascinare una scheda da una colonna all'altra scrive il nuovo valore della proprietà di raggruppamento (per esempio da in lettura a letto).
Ogni nota dichiara le sue proprietà nel frontmatter (type,
status, autore…). Usa il pannello laterale
Proprietà della nota per modificarle come campi tipizzati (testo,
numero, data, casella) invece che come YAML grezzo — vedi
Note in Markdown.
Il file .lnq è NDJSON (un record per riga), pensato per
Git: due macchine possono modificare la stessa Base in parallelo — una
aggiunge una colonna, l'altra regola un filtro — e il merge mantiene entrambe le
modifiche senza conflitti.
Schema dichiarato (facoltativo). Per impostazione predefinita LightNote
deduce i campi di ogni tipo da ciò che le note già usano: non devi dichiarare nulla.
Quando vuoi fissare lo schema, apri Strumenti → Tipi di nota... (o il pulsante a
ingranaggio della mini-barra Proprietà della nota): dichiara i campi di ogni
tipo, il loro tipo di dato (testo, numero, data, casella di controllo, elenco di
opzioni) e un modello predefinito. Con lo schema, un campo elenco di
opzioni diventa un menu a discesa con i valori ammessi, i campi dichiarati compaiono
nei selettori di colonna e filtro della Base anche prima che una nota li usi, e il
pulsante Applica il modello del tipo inserisce lo scheletro della nota. Lo schema
vive in .lightnote/types.ndjson — NDJSON unibile, versionato in Git insieme
alle note; eliminarlo non modifica alcuna nota, si torna soltanto alla deduzione.
Date relative nel filtro. Nel valore di una condizione valgono termini come today, yesterday, tomorrow, 7 days ago e in 2 weeks (anche 3 months ago, in 1 week). Così scadenza = today e scadenza < today (in ritardo) valgono anche domani — prima si poteva solo scrivere a mano la data del giorno, e la query salvata invecchiava in 24 h. Il valore è sempre un punto nel tempo, e l'intervallo nasce dalla composizione con l'operatore: modificato > 7 days ago significa "toccato questa settimana". Una nota senza data leggibile in quel campo non rientra in nessun confronto di data, nemmeno in quello negativo. Una data ISO scritta a mano (2026-09-01) continua a valere come testo.
L'indice gira in secondo piano. La Base e Strumenti → Interroga le note (SQL) scorrono le note prima di mostrare il risultato — uno stat per file più la lettura di quelle cambiate dall'ultima volta. Ora questo avviene fuori dalla finestra: la Base si apre subito dicendo Indicizzazione delle note… nella sua barra e si riempie quando finisce; il pulsante Reindicizza resta disabilitato nel frattempo, perché una seconda scansione della stessa cartella non servirebbe a nulla.
Ricerca nei file ed elementi in sospeso
Cercare nei file e nei documenti
Usa Ctrl+Shift+F per la ricerca globale nella scheda Ricerca della barra laterale, basata su ripgrep: supporta regex, sensibilità alle maiuscole, parola intera e sostituzione in blocco. Nel file corrente, Ctrl+F trova e Ctrl+H sostituisce.
La ricerca raggiunge anche i documenti. Oltre alle note
.md, legge il testo di PDF, fogli di calcolo
(.xlsx/.ods), documenti Word (.docx), testo
LibreOffice (.odt), presentazioni (.pptx) e libri
(.epub). Lo stesso vale per la Chat IA e per la ricerca per
significato. Un risultato dentro un PDF apre il file alla pagina del brano. Il
testo estratto sta in una cache fuori dallo spazio di lavoro, si aggiorna da
solo quando il file cambia e viene cancellato quando il file non esiste più. La prima volta costa: aprire uno spazio di lavoro con molti PDF avvia un'estrazione che dura minuti, e finché non finisce i documenti non sono ancora nella ricerca. La scheda Cerca lo dice mentre accade — preparazione dei documenti (12 di 80) — e avvisa quando rifare la ricerca. Dalla seconda volta in poi si rifà solo ciò che è cambiato.
Rientrano anche .rtf, .xps/.oxps, le presentazioni LibreOffice (.odp), i sottotitoli video (.srt/.vtt), le tabelle in testo (.csv/.tsv), le pagine salvate (.html/.mhtml), la posta archiviata (.eml), i notebook Jupyter (.ipynb), le bibliografie (.bib/.ris) e i file di testo semplice (.txt). I linguaggi di marcatura del testo hanno un lettore proprio: reStructuredText (.rst), AsciiDoc (.adoc), Org (.org) e Typst (.typ). La sezione diventa titolo, l'elenco e la tabella diventano i nostri, la formula viene disegnata e il preambolo resta fuori: senza questo, #set page(...) e :stem: latexmath diventerebbero frammenti indicizzati e il nome della sezione non viaggerebbe con il suo testo. Un risultato in un sottotitolo apre l'istante in cui la frase è stata detta. Un PDF digitalizzato non sparisce in silenzio. Un documento con pagine e senza testo (una foto di ogni pagina, senza OCR) entra nell'indice con una riga che lo dice, e la scheda Cerca avvisa quanti sono: senza quella frase cercheresti qualcosa che è nel libro, non lo troveresti e concluderesti che la ricerca è rotta. E puoi renderlo leggibile: con Tesseract installato (LightNote propone di installarlo con un clic), il menu ⋯ del PDF offre Riconoscere il testo (OCR)…. Gira una volta, per documento e può richiedere diversi minuti: dopo, il testo sta nell'indice come quello di qualsiasi altro PDF. L'avviso della scheda Cerca porta al primo documento in quello stato. La cache conserva il testo in chiaro. Si trova nella tua cartella utente, fuori dallo spazio di lavoro: chi vi ha accesso legge lì il contenuto dei tuoi documenti, anche se l'originale sta su un disco cifrato. Un file .lne (la nota cifrata) non entra mai nella cache: esiste proprio per non essere leggibile sul disco.
Il LaTeX entra da un lettore suo. Un file
.tex non viene letto come testo grezzo: il preambolo resta fuori,
\section diventa un titolo, \cite diventa
[@key] e la formula passa intera — a disegnarla è lo stesso motore che
disegna la matematica delle tue note. Un risultato apre il file alla riga da
cui viene. Nel menu contestuale del file — o nella barra della scheda, quando è aperto
— c'è Importa come nota (.md): la nota nasce accanto, il .tex
resta dov'è e importare due volte non sovrascrive. Il percorso inverso è Esporta
come LaTeX (.tex)..., nella barra della nota.
Anteprima del documento e codice sorgente
Aprire un documento mostra un'anteprima del testo. Un .docx,
.odt, .epub o .pptx si apre in sola
lettura, con il testo estratto e le immagini del documento — senza gli
stili di Word, la disposizione delle immagini, le tabelle complesse o il controllo
delle revisioni. La scheda resta il documento: il
nome, la cartella e la sessione puntano a esso, non alla cache. Un foglio
.xlsx continua ad aprirsi nella vista tabella, che mostra molto di
più.
Trasformare il documento in nota. Da File → Importa documento come nota... (più d'uno alla volta), dal menu contestuale dell'albero o dal pulsante Importa come nota (.md) nell'anteprima stessa, un .docx, .odt, .epub, .rtf, .pptx, .html, .eml, PDF o LaTeX diventa una nota modificabile accanto al file. Arrivano il testo con titoli, elenchi, link e tabelle, le note a piè di pagina, le equazioni di Word come formule LaTeX e le immagini, salvate nella cartella Allegati accanto alla nota. Titolo, autore e data del documento diventano proprietà, con source che dice da quale file viene la nota. L'originale resta dov'era — importare non è convertire — e importare di nuovo crea nome 02.md invece di sovrascrivere ciò che hai modificato. Non compare per il notebook Jupyter (che diventa Blocchi), per il .csv (che si apre come tabella), per la bibliografia .bib/.ris (che le citazioni leggono direttamente) né per il codice sorgente. La struttura viene dagli stili del documento: un titolo di Word è riconosciuto anche con il nome dello stile tradotto, gli stili di carattere danno grassetto, corsivo e codice, i paragrafi di citazione e di codice diventano i nostri blocchi e il sommario automatico diventa un [TOC] che la nota tiene aggiornato; dal .rtf arrivano elenchi, tabelle e link, e dall'HTML — compreso quello salvato da Word e Google Docs — e dall'EPUB arrivano titoli, elenchi annidati e tabelle.
Vedere che cosa la cartella usa di un altro editor. In Strumenti → Verifica compatibilità della cartella..., LightNote legge le note della cartella aperta e divide ciò che ha trovato in tre gruppi: ciò che disegna (wikilink, trasclusione, riquadro, etichetta, evidenziazione, formula, nota a piè di pagina, attività, marcatore di blocco), ciò che resta nel file senza essere disegnato (la query di plugin dataview, tasks o query, la lavagna .canvas, la base .base e la trasclusione di blocco) e ciò che si può convertire nella grafia di qui. Convertire è una tua scelta, mai un effetto del salvataggio: seleziona i costrutti, guarda l'anteprima affiancata e conferma — ogni file modificato riceve un punto nella Cronologia del file prima di essere scritto, e ciò che è aperto con modifiche non salvate resta fuori. Oggi le conversioni sono due, e nessuna costa nulla dal lato di Obsidian, che legge entrambe le grafie: il link obsidian:// di questa cartella diventa [[nota]] — quello verso un altro vault non viene convertito, perché cambierebbe la destinazione — e la nota a piè di pagina in linea ^[testo] diventa [^n], con la definizione alla fine.
Portare qui un intero archivio di Notion. In Notion usi Export → HTML (o Markdown & CSV) con Include subpages, metta lo .zip scaricato — o la cartella — dentro lo spazio di lavoro, crei la cartella di destinazione ed esegua lnote vault-import --path <export> --out <destinazione> (o lo strumento vault_import, dall’assistente di IA). Non serve scompattare, neanche l’export dell’intero spazio, che contiene un altro .zip. Ogni pagina diventa una nota: le proprietà della pagina diventano proprietà della nota, il riquadro colorato di Notion diventa la nostra scatola (in HTML è il colore a decidere il tipo; il Markdown non conserva il colore, e la scatola arriva come nota), un’attività arriva con la casella spuntata o no, un’equazione diventa una formula LaTeX, un blocco espandibile diventa una scatola <details> (e un titolo espandibile diventa un titolo), il sommario della pagina diventa [TOC], e i collegamenti fra le pagine vengono riscritti verso le note nuove — due pagine con lo stesso titolo convivono, perché la seconda diventa nome 02.md e i collegamenti puntano ancora a quella giusta. I database sono copiati come .csv in Anexos, e un #argomento scritto in Notion resta testo: lì non era un’etichetta, e qui non lo diventa. Nulla viene sovrascritto, e accanto viene scritta una nota di resoconto che dice quante note e allegati sono entrati ed elenca i collegamenti che non hanno trovato destinazione — quelli restano esattamente come erano scritti.
Il gesto è nel menu. File → Importa da un'altra applicazione... apre l'assistente: scegli la cartella o lo .zip che hai esportato (va bene anche un .enex di Evernote) e l'applicazione di origine viene riconosciuta dalla forma dei nomi dei file — se non lo è, scegliela nell'elenco accanto. La cartella viene letta per intero, sottopagine comprese. La destinazione arriva già compilata con una cartella nuova nello spazio di lavoro, con il nome dell'applicazione, perché l'archivio non si mescoli con le tue note. Lettura e scrittura avvengono fuori dalla finestra, e alla fine lo schermo dice quante note e quanti allegati sono entrati e quanti collegamenti sono stati riscritti.
Cinque applicazioni. Da Notion, la cartella o lo .zip esportato in HTML o in Markdown; da Evernote, il .enex; da Joplin, il .jex (o la cartella MD + Front Matter); da Logseq, la cartella del grafo — quella che contiene logseq/config.edn; e da Roam Research, il .json dell'export. In tutte, il taccuino e il namespace diventano cartelle, il diario finisce nella cartella delle note giornaliere con il nome aaaa-MM-gg, l'attività diventa - [ ], l'evidenziazione diventa ==così== e il riferimento a un blocco diventa il testo di quel blocco tra virgolette con il collegamento alla sua pagina: nessuna sintassi di un altro programma entra nel tuo spazio. Ciò che qui non ha un equivalente, come una query di Logseq o una tabella di Roam, resta come codice nella riga, e il rapporto dice quante volte.
Anche il codice sorgente può entrare nella ricerca per significato. In Spazio di lavoro → Impostazioni di questa cartella c'è Includere il codice sorgente nella ricerca per significato: i file di codice vengono indicizzati insieme alle note, un frammento per funzione o classe — è ciò che fa sì che domande come “dove gestisco il timeout?” trovino la funzione intera e non un pezzo tagliato in mezzo a un if. Rispetta il .gitignore. Arriva spento, e per cartella: le note cambiano lentamente, il codice cambia tutto il giorno, e un repository di lavoro genera decine di migliaia di frammenti, ognuno una chiamata addebitata dal tuo provider di embedding.
Evidenziazione, segni ed Elementi in sospeso
Evidenziazione e segni sono cose diverse. La ricerca rapida (Ctrl+F) si limita a evidenziare le occorrenze in ambra: è temporanea e scompare quando chiudi la barra o svuoti il campo. Segna tutto in Modifica → Ricerca avanzata… è invece una tua decisione: colora le occorrenze di rosso e aggiunge il segnalibro (il pallino blu nel margine) sulle righe corrispondenti, che restano finché non usi Cancella segni. I due canali sono indipendenti: chiudere la ricerca rapida non cancella ciò che hai segnato, e cancellare i segni non elimina l’evidenziazione della ricerca. Entrambi compaiono nella striscia della minimappa, ciascuno con il proprio colore. Cancella segni rimuove solo i pallini creati da Segna tutto: un segnalibro messo a mano (Ctrl+F2) su una riga che corrispondeva alla ricerca resta dov'era.
La sezione Elementi in sospeso della barra laterale raccoglie in un
unico posto i marcatori TODO/FIXME del codice e le
attività (- [ ]) delle note Markdown dello spazio di lavoro —
clicca per saltare direttamente alla riga.
Versionamento (Git semplificato)
Clonare un repository
Per lavorare su un repository che esiste già, usa File → Clona repository Git...: la voce è anche nella schermata iniziale e nel pannello di versionamento di una cartella che non è ancora un repository. Incolla l'indirizzo HTTPS o SSH che la pagina del repository mostra; va bene anche l'URL della pagina stessa, e pure un git clone ... copiato per intero. Scegli la cartella base e il nome della cartella: l'assistente mostra dove nascerà e avvisa quando lì c'è già qualcosa. In Opzioni avanzate ci sono il branch, il clone superficiale (solo l'ultimo commit) e i sottomoduli.
Quando il server chiede l'accesso, LightNote lo chiede in una finestra: utente e token, la passphrase della chiave SSH, oppure la conferma della chiave di un server che questo computer non ha mai visto — in quel caso la finestra mostra l'impronta digitale e il link all'elenco che il servizio pubblica, e l'impostazione predefinita è non fidarsi. La risposta va direttamente a Git e LightNote non la conserva; a conservarla è il gestore delle credenziali di Git, quando è installato (Git for Windows include il Git Credential Manager). Fidarsi della chiave la scrive in ~/.ssh/known_hosts, come farebbe ssh stesso.
Se la clonazione non riesce, la schermata dice che cosa è successo e offre la via d'uscita: provare con HTTPS quando la chiave SSH è stata rifiutata, usare i certificati di Windows quando il proxy aziendale ispeziona HTTPS, scaricare solo l'ultimo commit quando la connessione cade a metà, oppure usare i percorsi lunghi quando Windows non lascia creare il file. I Dettagli tecnici riportano il messaggio di Git, e ciò che non viene riconosciuto può andare all'IA. Alla fine l'assistente apre la cartella clonata in questa finestra o in una nuova.
Versionare la cartella aperta
Il versionamento è opt-in per ogni spazio di lavoro. Abilitalo in Strumenti → Impostazioni dello spazio di lavoro: LightNote crea il repository Git (se non ne esiste ancora uno) e mostra la barra laterale di versionamento (Ctrl+Shift+G).
In modalità automatica, LightNote salva le versioni (commit) da solo nei momenti scelti nelle Impostazioni generali (al salvataggio, alla chiusura della scheda o alla chiusura della finestra). In modalità manuale, scrivi il messaggio e salvi la versione nel pannello. L'indicatore della barra di stato mostra lo stato (nessuna modifica, X modificati…) e, se cliccato, apre le impostazioni dello spazio di lavoro. Puoi visualizzare il diff di ogni file e ripristinare (scartare) le modifiche non salvate.
L'automazione ha 3 livelli per cartella (in Impostazioni dello spazio di lavoro): Manuale (nulla di automatico), Commit automatico (salva le versioni da solo, ma non sincronizza) e Completamente automatico (fa commit e sincronizza — push dopo il commit + pull periodico; richiede credenziali Git senza richiesta di password). Il pannello mostra una riga di stato con ↑ da inviare / ↓ da ricevere rispetto al remoto, e il pulsante principale passa da commit a Sincronizza quando ci sono versioni da inviare — rendendo chiaro che, dopo aver salvato, devi ancora sincronizzare.
Il pannello Git e il menu Git dell'albero offrono Aggiungi (git add) e Ripristina (git restore) per file, e un unico Vedi cosa è cambiato, che apre la schermata di confronto.
La schermata di confronto mostra le due versioni affiancate e allineate: i passaggi uguali stanno sempre uno di fronte all'altro e ogni lato mostra il numero di riga del proprio file. Una riga cambiata appare in ambra, con la parte modificata evidenziata al suo interno. Il pulsante Modalità unificata passa al formato patch, Inverti i lati cambia la base del confronto e F8 / Shift+F8 saltano da una modifica all'altra.
Cronologia e striscia di modifiche
Il pulsante Cronologia nella barra dell'editor di codice e della nota apre l'elenco delle versioni del file aperto (la stessa sezione della barra laterale). Riunisce i commit e i salvataggi locali che LightNote registra a ogni Ctrl+S, quindi funziona anche in una cartella che non è un repository. Ogni riga porta l'oggetto, l'autore, quando è avvenuto e quante righe sono entrate e uscite; il pallino distingue un tuo commit, un salvataggio di LightNote stesso e un commit venuto da una sessione di IA. Se ci sono modifiche non ancora nel commit, sono la prima riga. Fare clic su una versione mostra cosa è cambiato in essa; aprire l'intera versione, confrontare con l'attuale e confrontare due versioni selezionate sono nel menu contestuale.
Con il versionamento attivo, una striscia colorata nel margine segna le righe cambiate dall'ultimo commit — nell'editor di codice e nella nota, e segue ciò che digiti: sparisce quando annulli fino all'originale, senza aspettare un salvataggio. Per disattivarla usa Visualizza → Striscia di modifiche; disattivata non è solo nascosta: non viene calcolato nulla. Fare clic sulla striscia mostra com'era il blocco, con Ripristina questo blocco (Ctrl+Z annulla), Copia originale e Vedi nel diff, che apre il confronto completo già posizionato su quella riga. Un'avvertenza sulla cronologia locale: è conservata per percorso, quindi rinominare il file perde i suoi salvataggi locali — i commit di Git no.
Snapshot e backup
Nel menu ⋯ del pannello di versionamento (o sotto Strumenti):
- Crea snapshot: marca lo stato corrente con un'etichetta di data/ora così puoi tornarci in seguito.
- Ripristina snapshot: scegli uno snapshot e cosa fare — riportare i file mantenendo la cronologia (consigliato), riavvolgere la cronologia a quel punto, oppure aprirlo come copia separata.
- Esporta copia (.zip): comprime l'intero spazio di lavoro in un file autonomo (con il marcatore di progetto incorporato) da inviare o archiviare altrove.
- Sposta cartella dello spazio di lavoro…: sposta la radice su disco e aggiorna i percorsi della sessione e del registro.
Revisione modifiche (checkpoint)
Strumenti → Revisiona modifiche… mostra, in un'unica scheda, il diff aggregato di tutto ciò che è cambiato nello spazio di lavoro a partire da una base: l'elenco dei file aggiunti/modificati/eliminati a sinistra e il diff del file selezionato a destra. È stata pensata per revisionare cosa ha cambiato una sessione di CLI di IA prima di accettare il lavoro.
La base può essere l'ultima versione (HEAD) o un checkpoint: creane uno prima di iniziare un'attività (pulsante sulla scheda stessa) e confrontalo in seguito. I checkpoint non creano commit e non toccano mai la tua cronologia. Richiede il versionamento abilitato per la cartella.
Commenti in lotto. Durante la revisione di una sessione IA, il pulsante Commenta (anche nel menu contestuale dell'elenco file) annota un commento sul file selezionato — ancorato al frammento che scegli. I commenti si accumulano in un elenco e raggiungono il terminale della CLI solo quando premi Invia alla sessione, tutti in un unico messaggio. È voluto: inviarli uno alla volta porta l'agente a correggere un problema e a romperne un altro, perché ogni giro non vede le altre osservazioni. Dopo la revisione i commenti restano nell'elenco per verificare se sono stati accolti; spunta quelli risolti e ciò che resta entra nell'invio successivo. Se l'agente riscrive la zona commentata, il commento viene attenuato invece di sparire. L'invio è confermato nella barra di stato e una sessione ibernata viene ripresa automaticamente per ricevere il lotto.
Confronta file (diff)
Strumenti → Confronta due file… apre entrambi affiancati (due editor) e segna le differenze riga per riga. Il confronto è di sola lettura.
I pulsanti ◀ / ▶ (o F8 / Shift+F8) saltano alla modifica precedente/successiva. Dal pannello Git puoi anche confrontare un file affiancato alla versione salvata (HEAD vs. disco).
Esegui codice (F5)
Strumenti → Esegui file (F5) salva il file corrente e lo
esegue nel terminale, secondo l'interprete registrato per l'estensione. I
valori predefiniti coprono .py, .sh,
.bat, .cmd e .sql; puoi
modificare/aggiungere interpreti in Impostazioni → Esecuzione.
Il comando è un template con {file} (file),
{folder} (cartella) e {name} (nome) — per esempio,
per Python: python {file}. Puoi anche inviare solo la
selezione/riga corrente al terminale con
Ctrl+Shift+Invio. Nei Blocchi, ogni cella viene
eseguita tramite lo stesso meccanismo.
Il pulsante Esegui ha una freccia per scegliere e ricordare il terminale di destinazione quando è aperto più di un terminale.
Errori cliccabili. Nel pannello di output (F6) i riferimenti a file:riga diventano collegamenti: Ctrl+clic o doppio clic apre il file nel punto esatto. Funziona con i traceback di Python, gli stack di Node, gli errori del compilatore (gcc/clang/MSVC) e l’output dei linter. Diventa un collegamento solo ciò che esiste davvero su disco; il resto rimane testo.
Scorrere gli errori. Nel pannello di output, F8 passa all’errore successivo e Shift+F8 al precedente (ci sono anche i pulsanti nella barra del pannello). Il salto è circolare: scorre l’output fino al riferimento, lo evidenzia e apre il file nel punto esatto.
Terminale e CLI di IA
Pallino di stato per comando. Accanto a ogni comando eseguito appare un pallino: blu se ha avuto successo, rosso se ha fallito (il tooltip mostra ora, durata e codice di uscita). LightNote lo abilita automaticamente in PowerShell e Git Bash, senza modificare la tua configurazione — attivalo/disattivalo in Impostazioni → Terminale → Integrazione shell. Altre shell (cmd, WSL) o comandi personalizzati non mostrano il pallino.
Apri un terminale integrato (emulatore VT completo, via ConPTY) con
Ctrl+' (sul layout di tastiera US, anche Ctrl+`). Diventa una scheda e può essere spostato tra le aree della
finestra. Le shell disponibili e le CLI di IA rilevate nel PATH (es.
claude) sono configurabili in Impostazioni → Terminale e
Impostazioni → Assistenti IA. Nel menu Nuovo terminale,
scegliere una CLI di IA apre quella CLI come terminale — la TUI/i
colori appaiono normalmente, e chiuderla chiude la scheda.
Programma un invio. Nel menu contestuale del terminale (clic destro), Programma invio… permette di inviare un Invio (o del testo) più tardi — comodo per riprendere una CLI di IA quando si azzera il limite di utilizzo, senza doverlo controllare. Scegli un trigger: a un'ora, dopo alcuni minuti, ogni intervallo (ricorrente), oppure quando il terminale diventa inattivo. Il computer viene tenuto sveglio finché non scatta. La programmazione dura finché la scheda del terminale resta aperta.
Puoi avere diverse programmazioni contemporaneamente. Quando ce n'è almeno una, la voce di menu mostra Invii programmati (N)… e apre un gestore: una tabella con il terminale, cosa verrà inviato, quando e un conto alla rovescia dal vivo fino al prossimo invio, con i pulsanti Nuovo, Modifica e Rimuovi. Finché ci sono programmazioni, un indicatore a orologio con il conteggio appare nella barra di stato (cliccalo per aprire il gestore) e un piccolo orologio segna la scheda del terminale armata.
Avviso di fine turno dell'IA. Quando un terminale di CLI di IA resta in silenzio — segno che l'agente ha finito il suo turno — LightNote ti avvisa: compare un toast (cliccalo per mettere a fuoco quel terminale) e la scheda lampeggia alcune volte, poi mantiene un'evidenziazione finché non la apri. Se la finestra è in secondo piano, lampeggia anche il suo pulsante nella barra delle applicazioni. L'avviso vale solo per i terminali di CLI di IA e solo quando la scheda non ha il fuoco. Attivalo/disattivalo e regola il tempo di silenzio in Impostazioni → Terminale → Avviso di fine turno dell'IA.
I terminali tornano con la finestra. Chiudendo e riaprendo lo spazio di lavoro, i terminali di shell comune (Prompt dei comandi, PowerShell, Bash) vengono riaperti — e nella cartella in cui eri, non in quella in cui il terminale era partito. Il contenuto dello schermo non torna, ma la cronologia dei comandi è della shell stessa ed è ancora lì: la freccia ↑ funziona normalmente. Le sessioni di assistente IA restano fuori e continuano a essere proposte a parte, perché un terminale nuovo non è la stessa conversazione. Non tornano nemmeno le variabili d'ambiente né gli ambienti attivati a mano in quella sessione (un venv, per esempio): il terminale riapre nella cartella giusta, ma è una shell nuova.
Assistente IA sulla selezione (Ctrl+K / Ctrl+I)
Chiedere e modificare con l'IA
IA predefinita. In cima a Impostazioni → Assistenti IA, l'IA predefinita sceglie l'assistente usato da Ctrl+K/Ctrl+I, dalla chat Chat IA (modificabile per sessione) e dalle attività automatiche (riscrivere la domanda, riassumere, riassunto audio, generare il contesto). Elenca sia le CLI sia i provider API. La trascrizione audio e gli embeddings hanno un provider proprio, e LightNote suggerisce un modello in base al provider scelto.
Premi Ctrl+K (Chiedi all'IA) o Ctrl+I (Modifica con l'IA) nell'editor — con o senza selezione — per aprire un popup flottante in stile chat inline: il campo del prompt viene precompilato con la selezione sotto una riga vuota; digita l'istruzione sopra e invia con Ctrl+Invio. Nel popup scegli l'IA (quella predefinita è preselezionata) e la modalità del risultato: sostituire la selezione tramite un diff (Originale × Suggerimento, con Accetta / Copia / Rifiuta) oppure solo visualizzare la risposta come testo.
LightNote esegue la CLI di IA in modalità "one-shot" (senza aprire un terminale). Le CLI e l'IA predefinita si trovano in Impostazioni → Assistenti IA.
Collegare un modello
Modelli via API. Oltre alle CLI locali, puoi registrare modelli LLM tramite un'API compatibile con OpenAI (OpenAI, Groq, DeepSeek, OpenRouter, Gemini, Anthropic, istanze locali come Ollama/LM Studio…) in Impostazioni → Assistenti IA. Scegli un provider dal catalogo (URL base già pronto), incolla la chiave (memorizzata codificata solo su questa macchina), usa Cerca modelli… e Test. I modelli registrati compaiono nello stesso selettore di Ctrl+K, insieme alle CLI.
Collegare in un passo. Il percorso normale non è compilare la tabella: in Impostazioni → Assistenti IA fai clic su Collega un'IA…, scegli il provider (l'elenco segnala chi ha un piano gratuito e chi gira sul tuo computer, senza chiave), segui i tre passaggi, apri la pagina delle chiavi con il pulsante e incolla la chiave. LightNote compila da solo indirizzo e modello e testa la connessione prima di salvare: una chiave sbagliata si vede lì, non in mezzo a una conversazione. L'elenco in alto mostra ciò che è già collegato e, per quanto è incompleto, che cosa manca («manca incollare la chiave», «manca scegliere il modello»); un doppio clic riapre l'assistente su quel provider.
Regolazioni fini. Indirizzo, modello, permesso MCP, comandi delle CLI, trascrizione audio ed embedding restano tutti disponibili in Avanzate, in fondo alla pagina — e nell'assistente stesso, in Opzioni avanzate, puoi cambiare l'URL di base e il modello prima di collegare. Non è stato tolto nulla: si è solo spostato dalla strada di chi inizia. Negli embeddings c'è anche il campo facoltativo Dimensioni: alcuni modelli accettano di restituire un vettore più piccolo (512 invece di 1536), il che dimezza la cache con poca perdita. Lascialo su (predefinito del modello) se non sai — non tutti i provider accettano il parametro. Cambiare il valore invalida la cache: vettori di dimensioni diverse non si confrontano, quindi viene scartata e ricostruita alla ricerca successiva, il che costa nuove chiamate.
Non tutti i guasti sono uguali. LightNote distingue le classi perché chiedono gesti opposti. Il sovraccarico del provider e il limite di frequenza passano da soli: l'app ripete la chiamata per conto suo, rispettando il tempo richiesto dal provider, e l'errore lo vedi solo se nemmeno così funziona. Il saldo o il limite di spesa non passa con nessuna ripetizione — il messaggio lo dice, per non farti insistere. Una conversazione diventata troppo lunga chiede una sessione nuova, non un altro modello. E il guasto del modello — ritirato, fuori dal tuo account, fuori dal tuo piano, o ha accettato la chiamata senza rispondere — è l'unico che cambiare modello risolve. Quando il tempo richiesto è troppo lungo per aspettare, il messaggio dice quanti secondi ha chiesto, invece di lasciare la finestra ferma.
Cambiare modello da solo. Spunta Cambiare modello automaticamente quando l'attuale fallisce e LightNote prova, nell'ordine mostrato lì stesso, i modelli consigliati per quel provider. Arriva non spuntato di proposito: ogni tentativo è una chiamata addebitata sul tuo account. L'alternativa non costa mai più del modello che hai scelto — l'elenco è pubblicato dal più caro al più economico e l'app lo percorre solo in discesa; un modello personalizzato, che non è nell'elenco, cade direttamente sul più economico. Solo il guasto definitivo viene salvato nel provider; quando è stata la rete a cedere, il cambio vale solo per quella chiamata e la tua scelta resta valida. Il cambio non è mai silenzioso: una notifica dice quale modello ha risposto e se la modifica è stata salvata.
E l'avviso che arriva prima del guasto. Il cambio automatico agisce solo dopo che la chiamata è fallita — ma il catalogo dei modelli, che LightNote consulta da solo, di solito sa del ritiro prima di allora. Quando il modello che LightNote stesso ha configurato per un provider esce dal catalogo, un avviso lo dice, e in Impostazioni → Assistenti IA compare un pulsante per passare al sostituto — che, per la stessa regola, non è mai più caro. L'avviso vale solo per il modello che l'app ha scelto e che non hai mai toccato: un modello che hai scritto tu è una tua scelta, e LightNote non ci si intromette.
Quando non risponde nessuno. LightNote dice cos'è successo e offre di cambiare modello, usare un altro assistente o disattivare quel provider finché non risolvi. Un provider disattivato (colonna Attivo della tabella, in Avanzate) sparisce dagli elenchi senza perdere la chiave né il resto della configurazione. Nell'elenco degli assistenti ognuno dice se è locale o nel cloud — sceglierne uno nel cloud fa uscire dalla tua macchina il testo inviato.
Senza chiave: LLM locale
Ancora nessuna IA? Usando Ctrl+K senza alcun assistente collegato, LightNote lo spiega e propone di collegarne uno subito — e appena lo colleghi, l'azione richiesta prosegue, senza ripetere la scorciatoia.
LLM locale (senza chiave). I provider locali — Ollama, LM Studio, llama.cpp — non richiedono una chiave API: scegline uno in Aggiungi (il selettore indica se il server è in esecuzione) e usa Cerca modelli… per scegliere tra i modelli che hai scaricato. Se Ollama non è installato, LightNote si offre di installarlo. È già registrato alla prima esecuzione: devi solo scegliere il modello. Poiché un modello locale può impiegare molto più tempo a rispondere (soprattutto alla prima generazione, mentre il modello viene caricato), LightNote lo attende molto più a lungo di un servizio cloud. Nessun tuo testo lascia la macchina.
Accettare, prompt e dove stanno le azioni
Accetta blocco per blocco. Quando il risultato arriva come diff, non devi accettarlo tutto: ogni blocco modificato ha una casella per includerlo o meno, e il testo finale viene ricostruito solo con i blocchi che tieni. Il prompt porta anche il contesto automatico del file (percorso, linguaggio e le righe attorno alla selezione), così l'IA risponde con più precisione senza che tu incolli nulla.
Libreria di prompt. IA → Libreria di prompt… conserva prompt riutilizzabili come file .md in una cartella Prompts/ del tuo spazio di lavoro — formato aperto, versionabile in Git e parte del tuo secondo cervello. Il selettore offre ricerca, anteprima e un pulsante per creare un nuovo prompt. Quando ne scegli uno, i campi {selection}, {file}, {folder}, {name} e {language} vengono riempiti con il contesto dell'editor corrente (le tue variabili sono preservate), e il testo viene inserito nel campo di Ctrl+K oppure inviato al terminale di IA attivo, senza inviarlo.
Non solo nell'editor di codice. Le azioni IA (Ctrl+K / Ctrl+I e il menu contestuale) funzionano anche nell'editor Markdown, nella nota incorporata delle Attività e nell'editor di query SQL del database: in ciascuno il popup si apre sopra il cursore e applica il risultato sul posto.
Tutte le azioni di IA stanno nel menu IA (nel pulsante ☰ e nel pulsante bacchetta della barra delle attività): Chiedi all'IA (Ctrl+K), Modifica con l'IA (Ctrl+I), Sessioni di IA, Chat IA, Libreria di prompt, Genera il file di contesto del progetto, Attiva l'IA in questa cartella e Configura gli assistenti di IA.
La finestra resta aperta mentre scrivi. Non si chiude quando fai clic nell'editor: puoi rileggere il codice o selezionare un altro punto senza perdere l'istruzione già scritta. La chiudono Esc, la ✕ della finestra stessa e le azioni di risultato (Accetta/Rifiuta). Cambiando scheda si mette da parte conservando quanto scritto: torna allo stesso file, premi Ctrl+K e l'istruzione ricompare dov'era.
Sessioni IA
Sessioni e copia isolata
IA → Sessioni IA… apre un cockpit che elenca, con una scheda per sessione, ogni terminale di CLI IA aperto in qualsiasi finestra di LightNote — con un pallino colorato di stato, il nome della CLI, la finestra e le etichette di ciò che richiede attenzione (invii programmati, copia isolata). Il doppio clic mette a fuoco il terminale; il menu ⋯ della scheda (o il tasto destro) offre rivedere le modifiche di quella sessione (apre la schermata di revisione con la base sul checkpoint creato all'inizio della sessione — vedi Rivedere le modifiche) e programmare un invio. È il modo di tenere d'occhio più sessioni di "vibe coding" contemporaneamente senza perderti tra le finestre.
Quando apri una CLI IA come terminale in un repository Git, LightNote salva automaticamente un checkpoint (etichetta "Sessione …"), così puoi poi vedere e annullare esattamente ciò che quella sessione ha modificato. La funzionalità può essere disattivata in Impostazioni → Generale → Funzionalità.
Copia isolata (worktree): nelle cartelle con Git, LightNote può eseguire l'assistente IA in una copia isolata della cartella (un branch dedicato), senza toccare i file che modifichi a mano. La prima volta chiede; poi è automatico (si attiva/disattiva per cartella in Configurazione dello spazio di lavoro → Integrazioni). Un'etichetta copia isolata segnala la sessione (branch e percorso sono nel suggerimento), e le voci Unisci… (porta le modifiche nella tua cartella — se hai modifiche in sospeso, chiede prima) e Scarta… (butta via la copia e il branch) chiudono il ciclo.
Inattività, contesto e ibernazione
Avviso di sessione inattiva. Quando una CLI di IA diventa inattiva (ha finito o ti sta aspettando), LightNote mostra una notifica; facendo clic si apre la revisione delle modifiche di quella sessione. Così puoi avviare l'attività e allontanarti. Disattivabile in Impostazioni → Terminale.
File di contesto del progetto. Quando apri una CLI di IA in una cartella priva di un file di contesto (CLAUDE.md o AGENTS.md), LightNote propone di generarne uno — e puoi farlo in qualsiasi momento da Strumenti → Genera file di contesto del progetto…. Un buon file di contesto descrive la struttura e le convenzioni del progetto e aiuta l'IA a commettere meno errori, senza rispiegare tutto a ogni sessione. Se è configurato un provider di IA, è lui a generare il contenuto; altrimenti ottieni uno scheletro da completare.
Ibernare le sessioni inattive. Una CLI di IA ferma continua a occupare memoria (la conversazione e il client del modello). In Impostazioni → Terminale puoi impostare un tempo di silenzio dopo il quale LightNote termina il processo e lo riprende da solo quando torni a quella scheda — la cronologia del terminale resta a schermo. Arriva attivo, con 30 minuti — tre sessioni ferme di Claude Code occupavano oltre 1 GB nella misurazione — e vale solo per sessioni in copia isolata le cui CLI sanno riprendere la conversazione della cartella (oggi Claude Code e Antigravity), perché altrimenti la ripresa porterebbe la conversazione di un'altra sessione. Una sessione con un invio programmato non iberna mai. E ciò che torna è la conversazione, non la schermata dello strumento: un testo digitato e non ancora inviato va perso.
Attività e ricerca per significato
Scheda Attività. La tabella mostra ciò che gira ora; la scheda Attività conserva la cronologia: ogni volta che un agente ha finito il turno, è partito in una copia isolata o è andato in ibernazione, con la data e un frammento dell'ultima risposta. Le voci non lette appaiono in grassetto e il conteggio compare anche nel menu dell'area di notifica — così chi si è allontanato dal computer vede ciò che ha perso, dato che le notifiche sono passeggere. Aprire la scheda segna tutto come letto; un doppio clic riporta alla sessione. Anche la fine di una sessione diventa un evento — compreso quando la CLI esce da sola —, così una sessione morta mentre eri via lascia traccia invece di sparire. Se la sessione dell'evento non è più aperta, il doppio clic lo dice invece di non fare nulla.
Cercare per significato. Quando la ricerca non trova nessuna occorrenza letterale, accanto al risultato compare l'opzione Cerca per significato: invece di far combaciare parole, LightNote cerca le note che parlano dello stesso argomento — utile quando ricordi l'idea ma non il termine che avevi scritto. C'è anche un interruttore ~ accanto agli altri per andarci subito. In questa modalità spariscono regex, parola intera, maiuscole, il filtro dei file e Sostituisci: nessuno di questi vale per una ricerca per somiglianza. La funzione richiede il rinforzo semantico (embedding) in Impostazioni → Generale → Funzioni; senza, il pulsante porta alla schermata per attivarlo. La prima volta in ogni cartella, LightNote dice quanti frammenti dovrà indicizzare e chiede conferma: quell'indicizzazione è addebitata dal tuo provider e avviene una volta sola; poi ogni ricerca costa solo la query.
Chat IA
Come funziona
IA → Chat IA… apre una chat che risponde usando le tue note come contesto. Invece di inviare tutto al cloud, LightNote recupera localmente gli estratti più pertinenti dal tuo vault (tramite ripgrep, senza embedding né servizi esterni), costruisce la domanda con quegli estratti e la invia a un provider IA via API che hai registrato. La risposta arriva con le note di origine come citazioni cliccabili — clicca per aprire la nota. Ottimo per "dialogare con il tuo secondo cervello" e ritrovare ciò che hai già annotato. La cronologia della conversazione resta solo in memoria (non viene salvata); la funzionalità può essere disattivata in Impostazioni → Generale → Funzionalità.
La finestra. I selettori stanno in un'unica barra in alto: l'IA, la cartella delle note e — quando c'è un editor di testo attivo — il contesto; a destra ci sono i due permessi (Strumenti e Consenti modifiche) e il pulsante +, che avvia una nuova conversazione. Prima della prima domanda lo schermo dice su cosa risponderà la finestra e offre scorciatoie con un clic, come Riassumi questa cartella. Nel campo della domanda, Invio invia e Shift+Invio va a capo; mentre la risposta arriva, il pulsante di invio diventa Ferma.
Strumenti e permessi
Lasciare che l'IA usi gli strumenti. La casella Consenti modifiche cambia il funzionamento: invece di rispondere solo con gli estratti recuperati dalla ricerca per termini, il modello può cercare da solo — leggere un file, cercare note, elencare attività — e solo allora rispondere. All'attivazione, LightNote verifica subito se il modello scelto sa chiamare strumenti: molti provider accettano la richiesta e semplicemente li ignorano, il che senza questa verifica darebbe una risposta inventata dall'aria documentata. L'esito viene ricordato sette giorni per ogni coppia provider+modello. Richiede un provider via API (una CLI locale non può ricevere strumenti). Alla fine compare l'elenco di ciò che è stato davvero usato, così giudichi la risposta invece di fidartene. Se il verdetto è negativo — il provider potrebbe semplicemente essere stato irraggiungibile in quel momento —, accanto al messaggio compare il pulsante Verifica di nuovo, che ripete il test ignorando quanto memorizzato.
Lasciare che l'IA modifichi le tue cose. La seconda casella, Consenti modifiche, è un passo a parte ed è disattivata. Con essa l'IA può anche creare note e attività, cambiare proprietà e annotare nella nota di oggi — ma nulla accade senza la tua conferma: la modifica compare nella conversazione in parole chiare («creare l'attività Comprare il pane»), con Consenti e Rifiuta. Rifiutare non chiude la conversazione; il modello viene avvisato e prosegue, spiegando o proponendo altro. Leggere non chiede mai — solo modificare. Sovrascrivere file qualsiasi e accedere alla rete restano volutamente esclusi: finché l'IA si limita a leggere, un testo ostile arrivato in una nota sincronizzata da fuori non può diventare una modifica sul tuo disco. Quando la modifica è un’annotazione sulla nota del giorno, la richiesta indica anche in quale cartella finirà: è l’unica scrittura il cui file di destinazione non compare in ciò che l’IA ha chiesto.
Su cosa risponde
Le note o il file aperto. Il menu Contesto: in alto nella finestra sceglie di cosa parla la conversazione: Note del vault (predefinito, descritto sotto) o Editor corrente — che risponde sul file aperto nell’editor anziché sul vault, usando la selezione e le righe circostanti (o l’intero file, con la casella Intero file). Così la stessa finestra serve a parlare delle tue note e del codice che stai modificando, in più turni. L’ambito Editor corrente compare solo quando un editor di testo è attivo. E nell’assistente rapido (Ctrl+K), il risultato ha un pulsante Continua nella chat → che riapre questa finestra già nell’ambito Editor corrente, con la domanda e la risposta di quel turno — per approfondire senza ricominciare.
Quali note? La finestra è unica e risponde su una cartella per volta — il menu Note da:, accanto al selettore dell'IA nella barra in alto, mostra e sceglie quale. Si apre già puntata alla cartella della finestra da cui hai aperto la chat ed elenca le cartelle aperte ora, seguite dalle recenti; Scegli cartella… punta a qualsiasi altra. Cambiare cartella vale per le domande successive — anche per interrogare le note di un progetto mentre lavori in un altro. Scelta a mano, la cartella resta finché non la cambi di nuovo (riaprire la finestra non riporta indietro l'ambito). Mentre una domanda è in corso — anche se ferma in attesa della tua conferma —, i selettori di IA, contesto e cartella restano bloccati: la risposta in arrivo appartiene al modello e alla cartella di quando hai chiesto.
Come chiedere. Il recupero è per argomento, non per istruzione: LightNote prende le parole della tua domanda e cerca le note che le contengono. Cita un tema che compaia nelle note ("cosa ho annotato su Postgres?") anziché una richiesta generica ("fai un riassunto") — quest'ultima non ha alcuna parola di contenuto da cercare, quindi non viene recuperato nulla e la chat avvisa che la risposta non ha usato le tue note. Vengono lette solo note .md/.markdown; in una cartella che non ne ha, la chat lo segnala e non consuma una chiamata all'IA.
Ricerca, riassunto e riscrittura migliori. Il recupero usa un indice locale con ranking BM25 che ignora gli accenti ("configuração" trova "configuracao") e funziona anche nelle lingue senza spazi tra le parole (giapponese, cinese, coreano) — ripgrep è il ripiego mentre l’indice viene costruito. Il pulsante Riassumi questa cartella — e la voce Riassumi con l'IA… nel menu contestuale di qualsiasi cartella dell'esploratore — legge le note a lotti e restituisce un documento. E in Impostazioni → Generale → Funzioni, l’opzione Riscrivere la domanda con l’IA espande la domanda in parole chiave prima di cercare (costa una chiamata API per domanda).
Chiave e conversazioni
Basta una chiave. Al primo avvio, LightNote registra già OpenAI, Google Gemini e Anthropic (Claude) in Impostazioni → Assistenti IA: basta incollare la tua chiave API nel provider che usi. Se nessun provider ha una chiave, la finestra mostra un pulsante Configura ora che apre direttamente quella schermata.
Le conversazioni vengono conservate. Il pulsante con l'orologio in alto apre l'elenco delle conversazioni precedenti di quella cartella: fai clic su una per tornarci. Nuova conversazione archivia quella corrente invece di cancellarla, e il tasto destro nell'elenco ne elimina una definitivamente (con conferma). Le conversazioni sono conservate per cartella: cambiare la cartella delle note cambia l'elenco.
Cosa fare con la risposta
Cosa fare con una risposta. Sotto ogni risposta ci sono Copia (mette il testo in Markdown negli appunti, con la formattazione intatta) e Cattura nella nota (invia la risposta alla nota del giorno, insieme ai collegamenti alle note citate). Nel menu Azioni della conversazione trovi Copia conversazione, Salva conversazione come nota… (scrive un .md nella cartella consultata), Rigenera l'ultima risposta e Modifica l'ultima domanda.
Allegare un file. Quando la ricerca non trova quello che avevi in mente, usa il pulsante + per allegare un file: entra sempre nella domanda, fuori dalla classifica della ricerca. Vanno bene nota, codice, testo e PDF (il testo del PDF viene estratto); un binario viene rifiutato subito invece di diventare rumore nel contesto. L'allegato compare come una pillola (fai clic per staccarlo) e sparisce quando inizi una nuova conversazione. Con i provider che lo supportano, la risposta compare anche gradualmente, mentre il modello scrive.
Memoria dell'assistente. Nel menu Azioni della conversazione (il pulsante ☰ in alto), Memoria dell'assistente… apre — creandola la prima volta — la nota Memoria.md nella radice della cartella selezionata. Tutto ciò che contiene entra in ogni domanda posta su quella cartella, prima dei frammenti trovati: le tue preferenze, le decisioni che hai già preso, ciò che hai scartato e perché. È un .md qualsiasi: modificalo quando vuoi, versionalo con Git, eliminalo per spegnere la memoria. Con gli strumenti di scrittura attivi, l'assistente può anche proporre di salvare un fatto lì, e come ogni scrittura attende la tua autorizzazione.
Riassumere una cartella. Vale per l'intero spazio di lavoro o per qualsiasi sottocartella: clic destro su di essa nell'esploratore e scegli Riassumi con l'IA…. Prima di spendere, LightNote dice quante note verranno lette e quante chiamate di IA comporterà — ognuna addebitata dal tuo provider — e ti lascia scegliere la forma: Panoramica, un testo continuo, oppure Consolidare la conoscenza, con sezioni fisse (decisioni, cose in sospeso, idee, contraddizioni e domande aperte; la sezione senza contenuto viene omessa invece di essere riempita con invenzioni). Se la cartella ha più note di quante ne consenta il tetto di costo, la risposta dice quante sono rimaste fuori. Alla fine, Salva come nota scrive il riassunto dentro la cartella riassunta, con la data e il numero di note nell'intestazione, e non ne sovrascrive mai uno precedente.
Test di API HTTP (.lnh)
Strumenti → Nuovo test API (.lnh)… apre un client HTTP salvato in un
file .lnh. Un file rappresenta un endpoint (metodo, URL,
intestazioni e corpo) e conserva diversi test nell'elenco a sinistra —
ogni test con i propri valori per le variabili {name} usate
nell'URL, nelle intestazioni e nel corpo, oltre al risultato dell'ultima
esecuzione (stato, tempo, data, intestazioni e corpo della risposta). Mostra
anche il comando curl equivalente. La stessa operazione one-off è
disponibile tramite CLI (http) e MCP
(http_request).
Ctrl+Invio invia la richiesta.
Importare ed esportare OpenAPI. Il pulsante con le frecce in cima
all'elenco dei test apre Importa OpenAPI… ed Esporta OpenAPI….
L'importazione legge una specifica in YAML o JSON nelle tre generazioni in uso —
Swagger 2.0, OpenAPI 3.0 e 3.1 — e costruisce il test da sola: i
{parametri} del percorso usano già la stessa sintassi delle variabili
{nome} del file .lnh, gli esempi dichiarati diventano i valori
del test, lo schema di sicurezza diventa l'intestazione Authorization e ogni
server dichiarato diventa un test a sé (collaudo e produzione affiancati). Poiché un
.lnh contiene un endpoint, una specifica con più operazioni chiede
quale importare — oppure scrive tutte insieme, un file .lnh per
operazione.
L'esportazione fa il percorso inverso e genera una specifica OpenAPI 3.0.3 a partire
dal file: server, parametri e corpo derivano dal modello, e le risposte di esempio dalle
esecuzioni registrate. È uno scheletro, non un contratto completo — il
.lnh descrive chiamate, quindi tipi, descrizioni e schemi non vengono
ricostruiti. I tuoi test viaggiano nel campo x-lightnote-tests, e per questo
tornano intatti quando reimporti il file.
Importare un comando curl. Nello stesso pulsante, Importa
comando curl… apre una casella per incollare — è da lì che arriva il comando, non dal
disco, e il campo è già compilato quando negli appunti c'è un curl. Capisce i
tre dialetti in cui circola lo stesso comando: Copia come cURL di Chrome/Firefox
(apici singoli), Copy as cURL (cmd) su Windows (con ^) e l'esempio
della documentazione spezzato con \. Il metodo viene da -X —
oppure è dedotto: POST quando c'è un corpo, GET quando non c'è.
L'importazione è letterale: nessun valore diventa da solo una variabile
{nome}, perché indovinare quale token sia un segreto sbaglierebbe. Alcuni
casi avvisano invece di mentire — un corpo che proviene da un file (-d
@file) non può essere letto, e l'invio multipart (-F) non viene
riprodotto fedelmente, quindi i campi finiscono nel corpo come testo perché tu li
sistemi.
Database (.lnc)
La connessione
Una connessione è un file .lnc (LightNote Connection)
all'interno dello stesso spazio di lavoro — versionabile in Git e portabile
tra macchine. Creane una tramite Nuovo → Nuova connessione (oppure apri
un .lnc esistente): si apre la vista Database, con la
barra di stato della connessione (Connetti / Disconnetti / Riconnetti /
Modifica), l'albero Schema (schemi → tabelle → colonne, caricati su
richiesta) e le schede interne .sql. I file .sql
aperti e quelli recenti sono memorizzati dentro il .lnc,
così la vista riapre nel suo stato precedente. Se non c'era nulla di aperto,
inizia con una query vuota (senza titolo) dove puoi digitare SQL
subito; al salvataggio (Ctrl+S) LightNote chiede solo un nome e
scrive il file dentro la cartella del progetto (nessuna finestra di
dialogo "salva ovunque"). Il pulsante + Scheda apre una nuova query
vuota, permette di aprire un file (il selettore si apre nella cartella
del progetto) oppure scegliere un recente / qualsiasi .sql
dalla cartella del progetto.
Un .sql aperto direttamente dall'albero è solo codice
(evidenziazione SQL, nessuna connessione).
Driver: SQLite e DuckDB (file) nativi; PostgreSQL, MySQL/MariaDB,
SQL Server e generico tramite ODBC; Oracle nativo (senza
ODBC). SQL Server usa il driver msodbcsql di Microsoft (installalo
sulla macchina) e offre l'autenticazione di Windows o
utente/password, oltre alle opzioni di cifratura del canale (Encrypt /
fidati del certificato). Per Oracle, imposta la cartella
Oracle Instant Client in Impostazioni generali → Database — viene
caricato a runtime, senza nulla da installare. La connessione Oracle ha
quattro modalità: Nome servizio (host/porta/servizio), SID
(host/porta/SID), Nome TNS (alias dal tnsnames.ora nella
cartella del client) e Descrittore TNS completo (incollato in un campo
di testo).
Password: spunta Salva password per cifrarla dentro
il .lnc stesso (crittografia portabile, si apre su un'altra
macchina); se deselezionata, la password non viene salvata e viene
richiesta a ogni connessione. La cifratura usa una Passphrase per
spazio di lavoro, impostata in Aiuto → Configura Passphrase;
conservala al sicuro: senza di essa la password non può essere aperta da
nessun'altra parte. La Passphrase è memorizzata nella cache solo sulla
macchina locale (non va mai su Git).
Spunta Connetti all'apertura per far aprire automaticamente la
connessione quando apri il .lnc. La connessione automatica è
silenziosa: se la password deve essere digitata (modalità "chiedi",
oppure cifrata senza la Passphrase in cache sulla macchina), il file si apre
disconnesso, senza interruzioni.
Eseguire e vedere il risultato
Esecuzione: Ctrl+Invio esegue l'istruzione sotto il cursore e Alt+X esegue l'intero script; i risultati appaiono paginati, ciascuno in una scheda Risultato con una barra di azioni in basso: Recupera il blocco successivo, Congela il risultato, Conteggio totale, cambia il Limite di righe, Aggiorna (riesegue), Visualizza/Copia SQL, Esporta... e Genera SQL dalla riga selezionata.
Congela il risultato: legge l'intero risultato dal database in una sola passata e lo tiene in una tabella locale (su disco, se non entra in memoria). Da lì in poi la griglia scorre senza interrogare il database, il conteggio delle righe diventa esatto (senza Conteggio totale), fare clic su un'intestazione ordina (un altro clic inverte; un terzo clic torna all'ordine in cui il database ha consegnato le righe) e anche l'esportazione legge dalla copia locale. L'ordinamento tramite l'intestazione vale fino a 100 mila righe; oltre viene rifiutato, con il motivo nel tooltip dell'intestazione, perché ogni pagina dovrebbe riordinare l'intera copia e percorrere la griglia tornerebbe a richiedere minuti. Un risultato già arrivato per intero nella prima pagina si ordina senza congelare: le righe sono già in memoria. Ciò che non si ordina è la prima parte di un risultato ancora paginato — l'intestazione affermerebbe un ordine valido solo per quello a schermo. Il grafico e la tabella pivot valgono sull'intero risultato, anche nei database in cui il grafico non esisteva. Se il congelamento si ferma prima della fine (hai premuto Interrompi o è stato raggiunto il tetto), le righe restano locali ma il grafico e la tabella pivot restano sul server: sommare su una parte del risultato darebbe un numero sbagliato — e ordinare la griglia ordina solo le righe recuperate, non l'intero risultato. Aggiorna scongela ed esegue di nuovo la query. Indipendentemente dal congelamento, le pagine già passate per la griglia restano in locale: tornare indietro a una di esse non interroga di nuovo il database. Un congelamento alla volta: con due risultati aperti, fare clic su Congela il risultato nell’altro viene rifiutato con il motivo, invece di interrompere quello in corso — per fermarlo, usa Interrompi nella sua scheda.
Griglia dei risultati: un NULL è mostrato in corsivo attenuato, distinto da un
testo vuoto, e i numeri sono allineati a destra; selezionando più celle, il piè di pagina mostra il
conteggio della selezione e, quando sono numeriche, la loro somma e media. Il pulsante
Pannello valore nella barra inferiore (o Mostra valore nel pannello dal menu
contestuale) apre un pannello laterale con il valore completo della cella selezionata, senza
tagli, con un pulsante Formatta che abbellisce JSON/XML solo nella visualizzazione. Nel menu
contestuale di una cella, Filtra per questo valore / Escludi questo valore rieseguono
la query con un WHERE sulla cella, e Vai al record referenziato segue la chiave
esterna della colonna e interroga la tabella padre in base al valore della cella.
Grafico e tabella pivot: dove viene fatto il calcolo. Il piè di pagina della griglia ha un selettore fra Dati locali e Tabella intera (sul server), e il pulsante mostra quale è in vigore. Quando il risultato è entrato per intero nella prima pagina, l'impostazione predefinita è locale: LightNote aggrega sul risultato già a schermo, senza tornare al database a ogni modifica di asse, di aggregato o di intervallo — e, poiché il motore locale è DuckDB, il grafico esiste ora anche su Oracle, SQL Server, PostgreSQL e MySQL, dove il suo SQL non viene eseguito sul server. Se il risultato è arrivato troncato, l'opzione locale resta non disponibile con la motivazione: aggregare su un campione darebbe un numero sbagliato, e segnalare il taglio non proteggerebbe nessuno, perché in un grafico si legge l'altezza della barra. L'opzione del server aggrega sull'intera query, con una query per ogni modifica. Le colonne numeriche che il database consegna come testo — il caso del NUMBER di Oracle — vengono riconosciute come numeri; gli identificatori con lo zero iniziale, come 01310, restano testo.
Piano di esecuzione: il pulsante Piano di esecuzione della barra degli strumenti
mostra l'EXPLAIN dell'istruzione sotto il cursore (SQLite, DuckDB, PostgreSQL e MySQL);
sui database che non espongono il piano in una singola istruzione (SQL Server, Oracle) il pulsante è
disabilitato, con il motivo nel suggerimento.
Lo schema
Proprietà dell'oggetto: fai doppio clic su una tabella nell'albero dello
schema (o premi F4, o scegli Proprietà dal menu contestuale) per aprire una scheda
con la struttura dell'oggetto, in quattro sotto-schede: Colonne (n., nome, tipo, nullabilità,
valore predefinito e un'icona di chiave sulle colonne della chiave primaria), Chiavi
(vincoli di chiave primaria, esterna, unica e check; un doppio clic su una chiave esterna apre la
tabella referenziata), Indici e DDL — il CREATE TABLE dell'oggetto,
pronto per copiarlo, salvarlo come .sql o aprirlo in una scheda modificabile.
Quando il database non fornisce il DDL già pronto (PostgreSQL e SQL Server non hanno questo comando),
LightNote lo ricostruisce dai metadati — lo stesso accade quando il comando di DDL
viene negato per mancanza di permessi — e lo indica chiaramente nella scheda. Se non è
leggibile nemmeno il catalogo delle colonne (nessun permesso o catalogo non disponibile), non
c'è nulla da cui ricostruire: la scheda lo segnala invece di restare silenziosamente vuota. Il menu
contestuale della tabella offre anche Copia DDL senza aprire la scheda.
Albero dello schema: l'albero Schema separa le Tabelle dalle Viste (ciascuna con la propria icona) e contrassegna con un'icona di chiave le colonne della chiave primaria. La casella di filtro setaccia solo gli oggetti già caricati (il caricamento a richiesta non viene forzato solo per filtrare).
Esplorare lo schema: Clic destro su una tabella per Inserisci SELECT nell'editor,
Anteprima dati, Conta righe, Copia nome qualificato oppure
apri il sottomenu Genera SQL → INSERT/UPDATE/MERGE: una
schermata elenca le colonne della tabella così puoi spuntare Includi e
Chiave, mostra un'anteprima dal vivo e inserisce il comando
nell'editor (il MERGE esce in ANSI; se il driver non lo supporta, appare un
avviso). Direttamente sulla griglia dei risultati, il pulsante Genera
SQL nella barra inferiore costruisce un INSERT/UPDATE/DELETE
precompilato con i valori della riga selezionata (disponibile quando la
query è un SELECT su una singola tabella). I nomi di tabelle e
colonne che esplori nell'albero iniziano anche a comparire
nell'autocompletamento (Ctrl+Spazio) degli editor
.sql della connessione, senza query aggiuntive al database.
Esportazione, variabili e transazioni
Esporta risultati: clic destro sulla griglia dei risultati e scegli
Esporta risultati... per scrivere CSV (delimitatore, carattere
di quotatura, sempre tra virgolette, riga di intestazione, testo per NULL),
JSON Lines o SQL (istruzioni INSERT con un nome di
tabella), con un limite di righe opzionale. L'esportazione percorre
l'intera query in modalità streaming (ri-recupero paginato), non solo
ciò che è visibile a schermo.
Variabili di script: usa @set nome = valore su una riga
dello script per definire una variabile — il prefisso @ la tiene
lontana dal database (non entra in collisione con il vero SET di
Postgres/DuckDB/SQL Server). I riferimenti come :nome vengono
sostituiti prima dell'esecuzione (fuori da stringhe e commenti; il cast
::tipo e i bind come :1 restano intatti); un
:nome senza valore apre un prompt prima di eseguire. Il pulsante
Variabili sulla barra degli strumenti apre la schermata con le
variabili definite (modifica/aggiungi/rimuovi).
Cronologia delle query: il pulsante Cronologia apre una
finestra con le ultime istruzioni eseguite con successo su questa connessione,
nelle colonne SQL / Quando / Durata / Righe. Selezionane una per
Riesegui, Inserisci nell'editor o Copia (il doppio clic
inserisce), oppure usa Cancella cronologia. Viene memorizzata
solo sulla macchina locale (non va né su Git né nel
.lnc).
Transazioni: il pulsante Autocommit (attivo per impostazione predefinita) e i pulsanti Commit/Rollback si trovano sulla barra degli strumenti. Con l'autocommit disattivato, le modifiche restano in sospeso finché non confermi (Commit) o le scarti (Rollback); disconnettersi con una transazione aperta chiede cosa fare.
Connessione SSH (.lns)
Una connessione SSH è un file .lns nello spazio di lavoro —
versionabile e portabile, come il .lnc. Creane uno tramite
Nuovo → Nuova connessione SSH: la scheda apre un terminale SSH
integrato (tramite ssh.exe di Windows) e una mini-barra
file remoti (SFTP).
Il browser dei file mostra una cartella alla volta (stile
MobaXterm/WinSCP): la prima riga è sempre .. per risalire di un
livello, e il doppio clic su una cartella vi entra. La barra del
percorso in alto permette di digitare un percorso remoto e premere
Invio per saltarci. Il pulsante Sincronizza con il terminale
fa sì che la cartella mostrata segua la directory corrente della sessione SSH
(ovunque tu abbia fatto cd nel terminale). Il menu del clic
destro offre Apri nell'editor (scarica il file, lo apre in una scheda e
ricarica al salvataggio), Scarica, Carica, Nuova
cartella, Rinomina, Elimina e Permessi (chmod). Puoi
anche trascinare file da Esplora risorse sul pannello per caricarli
nella cartella corrente.
La password può essere cifrata dentro il .lns con la
Passphrase dello spazio di lavoro oppure
richiesta a ogni connessione. Le chiavi SSH dell'agente/profilo di
Windows funzionano normalmente, dato che la connessione usa il client OpenSSH
di sistema.
L'opzione Connetti all'apertura (nella finestra di dialogo della
connessione) avvia automaticamente la sessione SSH quando apri il
.lns. Se la password non è memorizzata, il terminale stesso la
chiede alla connessione.
Sicurezza: Passphrase, PIN e Markdown Sicuro
La Passphrase è impostata per ogni spazio di lavoro in
Aiuto → Configura Passphrase… ed è la chiave di tutto ciò che LightNote
cifra: le password delle connessioni (.lnc/.lns), le
celle password della Tabella personalizzata e i
file .lne. La cifratura è forte e portabile (Argon2id +
XChaCha20-Poly1305): un file cifrato si apre su un'altra macchina una volta
reinserita lì la stessa Passphrase. Conservala al sicuro: senza di
essa, i dati cifrati non possono essere recuperati. La Passphrase è
memorizzata in cache solo sulla macchina locale (non va mai su Git).
Per cambiare la Passphrase, apri la stessa schermata e modifica il
campo Passphrase (viene precompilato con quella attuale). Alla conferma,
LightNote ricifra automaticamente tutti i dati sicuri dello spazio di
lavoro — password in .lnc/.lns, il contenuto dei
file .lne e le celle password delle Tabelle personalizzate
(.lnd) — dalla vecchia Passphrase alla nuova. La
decifratura è tutto o niente: se un solo elemento non viene decifrato,
non viene cambiato nulla e LightNote indica quale. Durante la scrittura,
ogni file viene copiato in un backup prima di essere riscritto; se uno non
riesce a essere scritto, LightNote chiede se annullare tutto
(ripristinare i backup) o saltare quel file e continuare (mantiene la
vecchia Frase, con un avviso alla fine). (Le password in modalità "chiedi"
non hanno nulla da ricifrare.)
Il PIN (4–8 cifre) è un blocco locale opzionale: protegge azioni sensibili dell'interfaccia (rivelare password, aprire note sicure) senza digitare la Passphrase ogni volta. Non cifra nulla e vale solo per questa macchina.
Il file Markdown Sicuro (.lne, sotto
Nuovo → File Markdown Sicuro) è una nota cifrata su disco: all'apertura,
LightNote chiede il PIN (se impostato) e la Passphrase, decifra solo in
memoria e ricifra al salvataggio (Ctrl+S). Per sicurezza, non si riapre mai da sola quando la sessione viene ripristinata. A parte questo, è una nota come le altre: ha l'assistente IA (Ctrl+K/Ctrl+I e il pulsante IA della barra), il Ctrl+clic su wikilink ed etichette, apre i link e mostra l'indirizzo nella barra di stato. Da ricordare sull'IA: il frammento inviato esce dalla macchina se l'assistente scelto è un servizio nel cloud; con un modello locale (Ollama, LM Studio) no. E le note sicure restano fuori da Chiedi alle note — quello legge i .md dello spazio, e sul disco un .lne è testo cifrato.
Note giornaliere, cattura rapida e tray
La nota di oggi è un file .md al giorno nella cartella
Note giornaliere — una sola cartella, valida per tutto LightNote,
impostata in Impostazioni → Note e scrittura. Dal menu del tray: Nota di oggi
apre la nota del giorno; Cattura rapida… (Ctrl+Alt+N, una
scorciatoia globale di Windows — oppure clic centrale sull'icona del
tray) apre una piccola finestra dove digiti e premi Ctrl+Invio: il
testo diventa un punto elenco con marca temporale nella nota di oggi, scritto
direttamente su disco, senza aprire una finestra dell'editor.
Il menu del tray elenca anche le finestre aperte e gli spazi di lavoro recenti, e porta gli interruttori dell'alimentazione: Mantieni il computer sveglio e Mantieni lo schermo acceso (comodo per attività lunghe; LightNote già mantiene l'alimentazione da solo mentre esegue IA one-shot, celle di Blocchi o script SQL). Il launcher (finestra di avvio) ha la ricerca, il doppio clic per aprire e un menu contestuale per fissare in cima, aprire in Esplora risorse o rimuovere dall'elenco.
Le azioni che valgono per tutto LightNote — e non solo per la finestra in cui ti trovi — vivono nel menu Generale (☰ Generale, o il pulsante con l'icona dell'app nella barra delle attività), che ha esattamente la stessa forma del menu della barra delle applicazioni: nella radice Nota di oggi, Cattura rapida e Calendario; poi i sottomenu Cattura (attività rapida, registra audio, ritrovare note vecchie, note adesive), Apri (launcher, apri spazio di lavoro, apri file singolo, file singoli) ed Energia; alla fine, Impostazioni generali. La regola è semplice: ciò che è nel menu della barra delle applicazioni è nel menu Generale — e solo lì. Passando il mouse su una voce compare l'avviso “funzione generale: vale per tutto LightNote, in qualsiasi finestra”.
Dove finisce una cattura. Le note giornaliere e le attività rapide hanno una destinazione unica e prevedibile: la cartella impostata in Impostazioni → Note e scrittura e la lavagna impostata in Impostazioni → Generale, valide in qualsiasi finestra. Alla prima cattura, se non è impostato nulla, LightNote chiede dove conservarla e registra la scelta — invece di mandarti a cercare l'impostazione. Un progetto che abbia bisogno del proprio diario (un cliente sotto riservatezza, un registro che deve stare nel repository) può rivendicare le catture fatte in quella finestra in Configurazione dello spazio di lavoro → Catture; il tray e le scorciatoie globali continuano a scrivere nella destinazione generale. La conferma dice sempre dove è finito il testo.
Il menu della barra delle applicazioni è volutamente corto: nella radice restano le finestre aperte e le tre azioni quotidiane — Nota di oggi, Cattura rapida e Calendario. Tutto il resto vive negli stessi sottomenu del menu Generale: Cattura, Apri (che nella barra porta anche l'elenco degli spazi recenti), IA (sessioni di IA e chiedi alle note — nella finestra è il menu IA completo) ed Energia. Alla fine, impostazioni ed esci.
Ritrova le note vecchie
Ciò che più fa fallire un «secondo cervello» non è una funzione mancante, ma la nota che non viene mai riletta. Dal menu della barra delle applicazioni (sezione Cattura), LightNote riporta a galla le note vecchie: Nota casuale apre una nota .md a caso dello spazio di lavoro (evitando quelle apparse nelle ultime due settimane), e In questo giorno elenca le note il cui anniversario di creazione è oggi (stesso giorno e mese, in anni precedenti). Entrambe le azioni sono anche nel menu Generale → Cattura della finestra.
La data di creazione viene dal campo created/date del frontmatter, se presente; altrimenti dalla data del file. La funzione non scrive mai nelle tue note: le apre soltanto. Si può disattivare in Impostazioni → Funzionalità («Ritrova le note vecchie»).
Le tue note sul telefono
Il tuo spazio di lavoro è Markdown puro in una cartella — formati aperti, senza database proprietario né cloud obbligatorio. Per questo qualsiasi app per telefono legge e modifica le tue note, senza che LightNote abbia bisogno di un'applicazione propria per il telefono: basta sincronizzare la cartella con un servizio di file e aprirla in un editor Markdown sul telefono.
Passo dopo passo: sincronizza la cartella dello spazio di lavoro con
OneDrive, Google Drive, Dropbox o Syncthing e, sul telefono, apri quella
cartella in un editor Markdown (ad esempio Obsidian Mobile, iA
Writer, GitJournal o Markor). Poiché tutto è .md in
testo, entrambi i lati vedono e scrivono le stesse note.
Raccomandazioni: sul telefono, modifica solo i file .md —
i tipi propri di LightNote (.lne sicuro, .lnc,
.lnt, .lnb, .lnd…) non si aprono fuori
dall'applicazione, e il .lne in particolare è cifrato. Se entrambi i
lati modificano offline e si verifica un conflitto, risolvilo tramite la
cartella Inbox: metti lì la cattura (testo, audio o foto) e lascia che
LightNote la integri nella nota del giorno, invece di sovrascrivere. Il
posizionamento è deliberato — la sincronizzazione avviene per file/Git, non
tramite plugin: sei proprietario dei tuoi dati e scegli il trasporto. Per
scrivere direttamente nella nota di oggi, modifica il file
Note giornaliere/yyyy-mm-dd.md — il nome della cartella cambia in
base alla lingua.
Registrare audio (voce, riunione) con trascrizione IA
Dal menu della barra delle applicazioni, Registra audio… apre una finestra mobile e trascinabile (trascinala dalla barra del titolo) per registrare dal microfono, dall'audio di sistema (ciò che viene riprodotto sul computer) o da entrambi insieme — la fonte scelta viene ricordata per la prossima volta. Usa ● Registra, ‖ Pausa e ■ Ferma; il file finisce nella cartella Registrazioni dello spazio di lavoro, compresso in .m4a quando fermi.
Due modi di trascrivere. In Impostazioni → Assistenti IA → Trascrizione audio, il selettore Come trascrivere sceglie tra il modello di trascrizione dedicato (stile Whisper: OpenAI whisper-1, Groq whisper-large-v3 — gratis — o un Whisper locale) e il modello generale con audio nella chat — l'audio va dentro la conversazione di un modello multimodale; è così che trascrive Google Gemini (gemini-2.0-flash, buon piano gratuito). Cambiare provider preseleziona la modalità giusta e suggerisce il modello; gli audio lunghi vengono suddivisi automaticamente in entrambe le modalità. Il modello suggerito può essere cambiato a mano — LightNote rispetta l'id che digiti, anche per un provider che non riconosce ancora.
Appena inizia la registrazione, la finestra si riduce da sola in una pillola compatta (un pallino rosso lampeggiante, un cronometro, Pausa/Ferma) — facile da trascinare in un angolo e tenere quasi nascosta durante una riunione lunga; il pulsante riduci/espandi nel titolo alterna manualmente, e fermare la registrazione la riespande. Ctrl+Alt+R (scorciatoia globale) è la nota vocale rapida: premi per iniziare subito a registrare dal microfono, premi di nuovo per fermare, senza aprire la finestra con il mouse.
Se è configurato un provider IA via API (in Impostazioni → Assistenti IA → Trascrizione audio), compaiono i pulsanti Trascrivi e Trascrivi + Riepiloga quando fermi (disabilitati finché l'audio è ancora in fase di compressione); il menu Alla fine può avviare la trascrizione da solo appena finisce la registrazione. LightNote invia l'audio per la trascrizione (modello in stile Whisper) e scrive una nota .md accanto all'audio con il testo e, se vuoi, un riepilogo. Attiva/disattiva la funzione in Impostazioni → Generale → Funzionalità.
La stessa finestra è un mini-player: sotto i controlli, un elenco delle registrazioni della cartella mostra ogni file con i pulsanti T (apri la trascrizione) e R (apri il riepilogo) quando esistono, oltre a un ▶ per riprodurre sul posto (barra di avanzamento con ricerca); il menu ⋮ di ogni riga riproduce, (ri)trascrive o apre la nota. Rigenerare una trascrizione non sovrascrive la precedente — crea una nuova versione a fianco (nota.md, nota (2).md…), preservando la cronologia. La sorgente di acquisizione è un pulsante a menu (Microfono / Audio di sistema / Entrambi), con Entrambi come predefinito. Il collegamento Apri cartella registrazioni apre la cartella nella finestra principale.
Note adesive
Le note adesive sono piccoli riquadri colorati di solo testo che fluttuano sul desktop, in stile dell'app Sticky Notes di Windows. Dal menu del tray: Nuova nota adesiva (Ctrl+Alt+S, una scorciatoia globale) crea un riquadro; Mostra note adesive (Ctrl+Alt+H) le mostra o nasconde tutte insieme. Ogni nota ha un + per crearne un'altra e un menu ☰ per cambiare il colore, Invia alla nota di oggi (scrive il testo come punto elenco nella nota di oggi e scarta il riquadro) oppure Elimina. Trascina l'intestazione per spostarla e l'angolo per ridimensionarla. Le note vengono salvate automaticamente e riappaiono quando riapri LightNote.
Lista di controllo. Il pulsante elenco nell’intestazione (accanto
al +) trasforma la riga del cursore — o le righe selezionate — in voci con
casella, e annulla al secondo clic. Puoi anche digitare [ ] e uno
spazio all’inizio della riga ([x] crea la voce già spuntata). Fai
clic sulla casella, oppure usa Ctrl+Shift+Invio, per spuntare e togliere la
spunta: la voce completata appare barrata. Invio crea la voce successiva;
Invio su una voce vuota, o Backspace al suo inizio, torna al testo
normale. Rimuovi le voci completate, nel menu della nota, elimina in una
volta quelle spuntate (Ctrl+Z annulla). Le voci vengono salvate come
attività Markdown (- [ ] voce), quindi Invia alla nota del
giorno porta ognuna come attività.
Calendario
Generale → Calendario… apre una singola finestra con un calendario
che segna i giorni con attività da ogni bacheca .lnt
registrata. Accanto, l'elenco Del giorno (attività del giorno
selezionato) e l'elenco In sospeso; il pulsante Nota del giorno
apre la nota giornaliera di quella data. Cliccare un'attività apre la
bacheca corrispondente.
Nella griglia, ogni giorno con attività riceve punti colorati con il colore dello stato Kanban (fino a tre), il giorno di oggi è segnato da un anello e il giorno selezionato da un cerchio pieno; Oggi torna al mese corrente e il nome del mese apre un menu per spostarsi di mese o di anno. Le attività In sospeso sono raggruppate per situazione — In ritardo, Oggi, Prossimi 7 giorni, Più avanti e Senza data —, con la scadenza in un contrassegno relativo («ieri», «oggi», «3 giorni fa»). Un doppio clic su un giorno apre l’attività rapida già con quella data.
Le attività scritte nelle note entrano qui. Una casella - [ ] in una nota è un'attività come le altre, e ora compare in In sospeso accanto alle schede dei quadri, negli stessi gruppi. Se la riga dice quando (domani, venerdì, 12/08), finisce nel gruppo e nel giorno giusti. Un doppio clic apre la nota alla riga della casella: l'attività si continua a modificare nella nota. La scansione va in secondo piano: la finestra si apre subito con i quadri e le attività delle note arrivano poco dopo. Nella griglia il numero del giorno è sottolineato quando quel giorno ha già una nota giornaliera, e l'elenco del giorno mostra anche In questo giorno: le tue note di anni precedenti scritte in quella data.
Tavolozza comandi
Ctrl+Shift+P apre la tavolozza dei comandi (ogni azione con la sua scorciatoia, filtrabile digitando). Ctrl+R apre il selettore rapido dei file e Ctrl+Shift+K apre il selettore delle attività.
Server MCP (agenti IA)
LightNote include un server MCP (Model Context Protocol) headless
che trasforma il tuo spazio di lavoro in uno strumento per agenti IA
(Claude Desktop, Claude Code, Cursor e qualsiasi client che parli MCP).
L'agente può leggere e scrivere file, cercare, interrogare dati tabellari e
database, lavorare con le attività, usare Git e lanciare richieste HTTP —
tutto confinato alla cartella (directory jail: i percorsi con
.. o fuori dalla radice vengono rifiutati). Il trasporto è
JSON-RPC 2.0 su stdin/stdout; ogni sessione avvia un processo leggero
lnote.exe, separato dalla finestra dell'editor.
Scorciatoia con un clic: da IA → Attiva l'IA in questa cartella, LightNote abilita l'MCP e scrive il .mcp.json in una volta (il clic è il consenso). Se l'IA è già attiva nella cartella, la voce diventa Configura l'IA di questa cartella… e apre le Impostazioni dello spazio di lavoro.
Due livelli di sicurezza: (1) il server si avvia solo se hai fatto opt-in per quella cartella; (2) ogni strumento è vincolato alla radice dello spazio di lavoro. In più, ogni strumento è annunciato con annotazioni (sola lettura, distruttivo, idempotente, "tocca il mondo esterno") così il client IA può valutare il rischio prima di chiamarlo.
Configurazione passo dopo passo
- Abilita l'MCP per la cartella. In
Strumenti → Impostazioni dello spazio di lavoro, spunta
Abilita MCP per questo spazio di lavoro. Senza questo opt-in il
server si rifiuta di avviarsi (è la porta principale). In alternativa, dalla
riga di comando:
lnote --mcp-enable "C:\Percorso\allo\spazio-di-lavoro"(e--mcp-disableper disattivarlo). - Trova il percorso di
lnote.exe. Si trova nella stessa cartella dilightnote.exe(la cartella di installazione dell'app). È l'eseguibile console "snello", senza interfaccia grafica — è quello che esegue l'agente. - Registra il server nel tuo client IA, puntando il comando a
lnote.exee passando--mcpseguito dalla cartella dello spazio di lavoro. Nel formato usato da Claude Desktop / Cursor e simili:
{
"mcpServers": {
"lightnote": {
"command": "C:\\Percorso\\a\\lnote.exe",
"args": ["--mcp", "C:\\Percorso\\allo\\spazio-di-lavoro"]
}
}
}
Suggerimenti per la configurazione:
- Le barre rovesciate nel JSON vanno raddoppiate
(
C:\\Users\\...\\lnote.exe), come nell'esempio. - Per esporre più spazi di lavoro, aggiungi una voce per ogni
cartella, con nomi distinti (
"lightnote-progettoA","lightnote-progettoB"), ciascuna che punta alla propria radice. - Dopo aver salvato la configurazione, riavvia il client IA così
avvia il server. Una volta connesso, l'agente dovrebbe elencare gli
strumenti
lightnote_*; chiedigli di "elencare i file dello spazio di lavoro" per confermare che funziona. - Per Claude Code (CLI), lo stesso server può essere registrato con
claude mcp add lightnote -- "C:\Percorso\a\lnote.exe" --mcp "C:\Percorso\allo\spazio-di-lavoro".
Password del database (opzionale). Lo strumento db_query
apre una connessione .lnc. Se la password è cifrata con la
Passphrase, passala tramite la variabile d'ambiente
LNOTE_PASSPHRASE nel blocco del server (mai come argomento sulla
riga di comando) — le connessioni con password in modalità "chiedi" non
possono essere usate in modo automatizzato.
Le query dell'IA sono opt-in per connessione. Abilitare l'MCP nella cartella non espone le connessioni: ogni .lnc risponde a db_query solo quando l'opzione «Consenti query dell'IA (MCP)» è selezionata nella finestra della connessione. L'accesso è di sola lettura (SELECT).
Esportare dal database tramite l'agente. Oltre a interrogare, l'agente può materializzare una SELECT in un file con db_export (Parquet, CSV, JSON o .xlsx) — utile per risultati troppo grandi per stare in una risposta. Valgono le stesse tre cautele, in quest'ordine: la query deve essere di sola lettura, la connessione richiede l'opzione «Consenti query IA (MCP)» (verificata prima di decifrare la password) e la destinazione deve restare dentro lo spazio di lavoro. Le esportazioni grandi usano la cartella temporanea di sistema come area di appoggio, all'incirca quanto il risultato — lasciare spazio libero su disco.
Strumenti disponibili
L'agente vede gli strumenti sotto il prefisso del client (es.
lightnote_read_file). Per categoria:
- File:
read_file(con intervallo di righe opzionale),write_file,edit_file(sostituisce un frammento esatto, senza riscrivere l'intero file),append_file,list_files,move_file,make_diredelete_file(va nel Cestino, non un'eliminazione definitiva). - Ricerca e navigazione:
search_files(ripgrep, con filtro per sottocartella/glob e limite),list_symbols(struttura delle funzioni/classi di un file) eopen_in_editor(apre/mette a fuoco un file nella finestra di LightNote, se è aperta). - Dati e SQL:
query(SQL DuckDB su Parquet/CSV/JSON, output tsv/json/markdown),describe_table(schema + statistiche, senza scaricare le righe),export_query(materializza una SELECT in un file tramiteCOPY),sqlite_query(SQL su un.sqlite/.db),db_list_connections(elenca i file.lncdello spazio di lavoro) edb_query(SQL di sola lettura su una connessione.lnc). Per portare il risultato in un file invece che nella risposta,db_export(Parquet/CSV/JSON/.xlsx). - Inoltre:
search_notes(recupera i frammenti di note più pertinenti per una domanda — lo stesso motore di Chat IA),list_links(i link in uscita di una nota, risolti o interrotti),audit_vault_links(link interrotti e note orfane di tutto il vault),list_note_templatese il parametrotemplatedicreate_note,list_due_tasks(attività in scadenza oggi o in ritardo in tutti i progetti),xlsx_read(legge un foglio.xlsxcome TSV),data_diff(confronta due file tabellari) e il catalogo del databasedb_list_objects/db_describe(tabelle/viste e le colonne, chiavi e DDL di una tabella — stessi requisiti didb_query). Enote_export(esporta una nota indocx,odt,epub, LaTeX, Typst, HTML, reStructuredText, AsciiDoc, Org, MediaWiki, Notebook o in un altro dialetto Markdown — senza alcuna finestra, e anche dalnote note-export). Enote_import(il percorso inverso: undocx,odt,epub,rtf, HTML otexdiventa una nota accanto all’originale, con titoli, elenchi, tabelle, enfasi, link, formule e immagini — anche dalnote note-import). Efolder_export(una cartella intera diventa un sito HTML, un insieme di documenti o Markdown, con i link riscritti — anche dalnote folder-export). - Archivi:
zip_list(elenca i membri di un.zip/.isx) ezip_read(legge un membro come testo) — senza estrarre l'archivio su disco. - Attività:
list_task_projects(elenca i progetti di attività.lntdello spazio di lavoro),list_tasks,list_task_statuses(colonne della bacheca),create_task,update_task,update_task_status(sposta tra colonne),delete_tasketask_note(legge/scrive la nota.mddell'attività). Uno spazio di lavoro può contenere diversi progetti.lnt: scegline uno con il parametroproject(ilnamerestituito dalist_task_projects; opzionale quando ce n'è solo uno). Gliid/status_idsono identificatori di sessione — non leggere i file.lntinterni per ottenerli; usa gli strumenti delle attività. - Note (PKM):
create_note(crea una nota.md),append_daily_note(aggiunge una cattura alla nota di oggi),remember(salva un fatto duraturo su di te nella nota di memoria),list_backlinks(note che puntano a una nota),list_note_tagsesearch_by_tag(gli#hashtagdel vault e le note che li usano) eadd_task(crea un'attività con data di scadenza/tag, accetta linguaggio naturale nel titolo). - Git:
git_status,git_log,git_diffegit_restore. - Web e avvisi:
http_request(lancia una richiesta HTTP e restituisce stato/intestazioni/corpo) enotify(mostra una notifica nel tray sulla finestra aperta — comodo perché l'agente segnali di aver finito). - Proxy IA:
list_ai_modelseask_ai(di seguito).
Il server espone anche i file dello spazio di lavoro come risorse
MCP (resources/list e resources/read), per i
client che preferiscono "allegare" i file invece di chiamare
read_file.
La tua Libreria di prompt (la cartella Prompts/ dello spazio) è esposta come prompt MCP (prompts/list e prompts/get). In Claude Code ogni prompt diventa un comando slash — /mcp__lightnote__<nome> — pronto all'uso nella CLI di IA.
Rete di sicurezza delle scritture. Prima di sovrascrivere (write_file/edit_file) o rimuovere (delete_file) un file, il server salva la versione precedente nella Cronologia locale — la rete di sicurezza dell'editor —, così puoi annullare una modifica fatta da un agente anche fuori da un repository Git.
Ogni strumento dichiara se legge o scrive: oltre alle annotazioni
MCP (readOnlyHint/destructiveHint), la descrizione
inizia con un badge [read-only], [writes] o
[destructive] — comodo per costruire allowlist in modo
sicuro.
Proxy IA (delega a un altro modello)
I provider API che hai registrato con la colonna
MCP spuntata sono esposti all'agente tramite due strumenti:
list_ai_models (elenca i modelli consentiti, con id, nome e
modello) e ask_ai ({model, prompt}). Questo permette
all'agente principale di delegare un sotto-compito a un modello più
economico o specializzato. La chiamata è intermediata dal LightNote in
esecuzione (l'lnote.exe dell'MCP inoltra la richiesta alla
finestra dell'app tramite il ponte interno): la chiave API non lascia mai
la tua macchina e non raggiunge mai l'agente. Se LightNote non è aperto,
lo strumento restituisce un errore chiedendo di aprirlo.
Riga di comando (lnote)
Le stesse operazioni MCP risiedono in un eseguibile console, lnote,
per script e automazione (raggiungibile anche come
lightnote cli <comando>). Ogni azione è confinata alla
cartella radice, impostata da --root (predefinito: la cartella
corrente).
Esempi:
lnote list --recursive
lnote read --path src/main.cpp --start-line 1 --end-line 40
lnote write --path note.md --content "Hello"
echo content | lnote write --path note.md --content -
lnote search --query TODO --regex
lnote query --sql "SELECT * FROM read_parquet('data.parquet') LIMIT 10"
lnote describe --path data.parquet
lnote search-notes --query "dove ho scritto del budget"
lnote audit-links
lnote xlsx-read --path foglio.xlsx --sheet 0
lnote data-diff --a prima.parquet --b dopo.parquet --mode changed --keys id
lnote db-describe --connection dati.lnc --table clienti
lnote db-export --connection dados.lnc --sql "SELECT * FROM clientes" --out clientes.parquet
lnote due-tasks
lnote export --sql "SELECT * FROM read_csv_auto('e.csv') WHERE state='NY'" --out ny.parquet
lnote zip-list --path export.isx
lnote zip-read --path export.isx --entry job/definition.xml
lnote task-projects
lnote tasks --project Backlog
lnote create-task --project Backlog --title "Review the text" --effort 2
lnote move-task --project Backlog --task-id 5 --status-id 2
lnote git-status
lnote http --url https://api.example.com --method GET
lnote notify --message "Processing finished"
Opzioni globali: --root <cartella>,
--json (output strutturato {ok,data,error}),
--help (o lnote <comando> --help) e
--version. I comandi sconosciuti ricevono un suggerimento
("forse intendevi…?").
Aggiornare dati vecchi in blocco: lnote upgrade <cartella>
ammoderna in un colpo solo i file scritti da versioni precedenti di LightNote: oggi le
estensioni legacy .lnsh e .lnsm, diventate .lns e
.lne. L'applicazione lo fa già da sola quando apri ciascun file; il
comando serve a chi ne ha decine e non vuole aprirli uno per uno. Usa
--dry-run per vedere cosa cambierebbe senza toccare nulla. È una comodità,
non un obbligo: i file vecchi continuano ad aprirsi anche senza.
Impostazioni e temi
Dove stanno le opzioni
In Strumenti → Impostazioni generali regoli, in sezioni: le opzioni Generale (lingua, salvataggio automatico, rilascio schede inattive, tavolozza colori delle schede, titolo della finestra, note giornaliere, correzione ortografica), il Tema dell'applicazione, il carattere e i colori dell'Editor, lo stile Markdown, l'Esecuzione (interpreti), il Terminale (shell), gli Assistenti IA (CLI e l'IA predefinita), il Versionamento e il Database (paginazione, Oracle Instant Client).
In cima all'elenco delle sezioni c'è un campo di ricerca che filtra in base alle opzioni di ogni pagina; e la sezione Funzionalità raccoglie gli interruttori delle funzioni opzionali — grafo delle connessioni, note adesive, sessioni IA, Chat IA, registrazione audio, ritrovare le note vecchie, mantieni il computer sveglio e l'integrazione nel menu di Esplora file di Windows. Disattivare una funzionalità la rimuove dall'interfaccia, dal tray e dalle scorciatoie, e smette di consumare risorse — ma conserva i dati già creati; la modifica ha effetto al riavvio.
Temi
Il tema dell'applicazione cambia l'aspetto del programma (menu, schede, pannelli, barra di stato). Ci sono diversi temi già pronti — chiari (Light, Solarized Light, Catppuccin Latte, Gruvbox Light, One Light, Rosé Pine Dawn, Everforest Light, Tokyo Night Day) e scuri (Dark, Tokyo Night, Dracula, Ayu Mirage, Nord, Gruvbox Dark, Everforest Dark, Kanagawa Wave) — oltre alla modalità Personalizzato con un colore d'accento. I nuovi temi arrivano tramite il catalogo online, senza dover aggiornare l'applicazione.
I colori dell'Editor di codice e del Markdown si scelgono separatamente, nelle rispettive sezioni, indipendentemente dal tema dell'applicazione. Ognuno ha un menu a tendina Tema: con schemi di colore già pronti (Default, Dracula, One, Nord, Gruvbox e Tokyo Night, in varianti chiara e scura), un'anteprima dal vivo e un pulsante Salva come… per memorizzare i tuoi colori come preset riutilizzabile.
Tema per finestra. Ogni cartella (spazio di lavoro) può avere un proprio tema, così puoi tenere due finestre aperte con aspetti diversi contemporaneamente. In Configurazione dello spazio di lavoro → Aspetto di questa cartella ci sono menu a tendina per il tema di questa finestra (l'aspetto dell'applicazione), il tema del codice e il tema del Markdown — ognuno con un'opzione Segui tema generale/ Mantieni predefinito per lasciarlo invariato. Sovrascrivere i temi del codice e del Markdown è comodo per far combaciare i colori dell'editor con un tema scuro solo in quella cartella, senza toccare le Impostazioni generali. Queste scelte restano sulla tua macchina (non vengono inviate a Git).
Strumenti, titolo e layout
Guida all'installazione. Quando scegli uno strumento del catalogo
(assistente IA, interprete, formattatore, linter o driver di database) che non è ancora
sul computer — o provi a eseguire/formattare/verificare un file il cui interprete manca —
LightNote apre una guida all'installazione. Quando esiste un comando sicuro
(tramite winget), la guida mostra il comando esatto e lo esegue in una
console integrata, con un clic; se lo strumento dipende da un altro (ad esempio,
una CLI che richiede Node.js), offre di installare prima il prerequisito. Senza un
programma di installazione automatico, la guida apre la pagina di download ufficiale con
istruzioni passo passo. Al termine, verifica l'installazione e rende lo strumento
pronto all'uso, senza riavviare il programma.
La Formattazione e i Linter hanno sezioni proprie
(formattatore/linter esterno per linguaggio, con Aggiungi da un
catalogo). Per portare le tue preferenze su un'altra macchina, il gruppo
Migrazione impostazioni (sezione Generale) ha Esporta/
Importa impostazioni (un file .lnconf): le opzioni
generali e i temi dei contenuti vengono trasferiti, ma non le chiavi
API o i percorsi locali (da reinserire sulla destinazione).
Il titolo della finestra è un template libero: il nome dell'app
compare sempre alla fine e componi il resto con le variabili
{workspace} (cartella radice dello spazio di lavoro),
{file} (nome del file aperto) e {path} (percorso
completo). Le decorazioni attorno a una variabile vuota (es. le parentesi in
[ {workspace} ]) scompaiono da sole; lascia il campo vuoto per il
valore predefinito [ {workspace} ] {file} — .
Layout della finestra. In Visualizza → Layout della finestra (o in Impostazioni generali → Generale → Layout della finestra) puoi scegliere fra tre preset — Moderno (predefinito), Classico e Confortevole — oppure regolare ogni opzione singolarmente: mostrare la barra dei menu in alto (quando è attiva il pulsante ☰ scompare, perché entrambi aprono gli stessi menu), mostrare le etichette accanto alle icone, mettere la barra degli strumenti e la barra laterale a sinistra o a destra, e la dimensione delle icone. Scegliere un preset si limita a compilare le opzioni: modificarne una in seguito non annulla nulla, l’elenco passa semplicemente a mostrare «(personalizzato)». La modifica ha effetto subito, in tutte le finestre aperte.
Modalità portatile: i dati accanto al programma
Nella versione .zip, LightNote tiene impostazioni, sessioni, cronologia locale e indici in una cartella di Windows (%LOCALAPPDATA%), fuori dalla cartella del programma. La modalità portatile porta tutto questo accanto all'eseguibile, e così l'intera cartella può vivere su una chiavetta USB, un disco esterno o una cartella sincronizzata.
Per attivarla: estrai lo .zip dove deve restare la copia, apri Impostazioni → Generale → Modalità portatile e fai clic su Rendi portatile questa copia…. La finestra mostra da dove e verso dove vanno i dati, quanto pesano e cosa cambia; alla conferma LightNote copia (non sposta mai) e ti chiede di chiudere e riaprire il programma. La copia vecchia resta dov'era, intatta: se qualcosa va storto non si perde nulla.
Dopodiché la cartella del programma guadagna due cartelle nuove: profile, con ciò che è tuo (impostazioni, sessioni, cronologia, dizionari scaricati), e profile-cache, con i soli indici che il programma ricostruisce da sé. Puoi eliminare profile-cache in qualsiasi momento per recuperare spazio.
Per passare a una nuova versione: scarica il nuovo .zip, estrailo in una cartella nuova e copiaci dentro la cartella profile della versione vecchia. Tutto qui. profile-cache non va copiata (si rifà da sola); copiarla funziona lo stesso, è solo inutile. Non fare il contrario: un profilo scritto da una versione più nuova fa aprire il programma in sola lettura, per non rovinare ciò che non sa ancora leggere.
Per disattivarla: torna a Impostazioni → Generale → Modalità portatile e fai clic su Disattiva la modalità portatile…. Non viene eliminato nulla: le due cartelle vengono solo rinominate (in profile.desativado e profile-cache.desativado), e al prossimo avvio LightNote torna a usare la cartella di Windows. Deciderai poi se eliminarle, ripristinarle o copiarne ciò che ti serve.
Ciò che NON accompagna la cartella cambiando computer. Tre segreti sono protetti da Windows per utente e macchina, quindi non si decifrano su un altro PC: le chiavi di IA, le password dei file che hai fatto ricordare e la Passphrase salvata. Basta inserirle di nuovo lì: non si perde nulla, e i tuoi file sicuri continuano ad aprirsi normalmente con la Passphrase digitata. Inoltre: le schede e cartelle aperte conservano il percorso completo, quindi cambiano posto se cambia la lettera dell'unità; l'integrazione con Explorer viene disattivata quando attivi la modalità (scrive nel Windows della macchina, l'opposto di ciò che la modalità portatile promette) e puoi riattivarla nelle Impostazioni; e il .mcp.json scritto nei tuoi repository punta al percorso completo di lnote.exe, quindi va rifatto sulla macchina nuova.
Portare con sé le chiavi di IA (facoltativo). In Impostazioni → Generale → Modalità portatile c'è Proteggere le chiavi con una frase…. Attivo, le chiavi di IA e le password di file memorizzate smettono di dipendere da Windows e viaggiano con la cartella. Pensaci due volte: oggi perdere la chiavetta non costa nulla — i segreti non si aprono fuori dalla tua macchina; con la frase, chi ottiene la cartella può provare a indovinarla con calma. Usa una frase lunga. La Passphrase dello spazio di lavoro non entra in questo portachiavi, di proposito: apre le tue note sicure, e una sola frase non deve sbloccare tutto. Spunta Ricorda su questa macchina per non essere interrogato sul tuo computer; altrove la domanda torna.
chaveiro-do-perfilLa modalità portatile vale per la versione .zip. Una copia installata dal programma di installazione e l'edizione Microsoft Store non si possono convertire — la loro cartella è di sola lettura oppure è gestita dal programma di disinstallazione — e la finestra lo dice, invece di lasciare il pulsante senza effetto. Da riga di comando, con LightNote chiuso: lnote portable --status, lnote portable --on (accetta --dry-run) e lnote portable --off.
Scorciatoie da tastiera
- F1 — questa guida (alla sezione della schermata corrente)
- Ctrl+N / Ctrl+O — nuovo file / apri file
- Ctrl+S / Ctrl+W — salva / chiudi scheda
- Ctrl+Alt+Shift+S — salva tutto (ogni scheda modificata)
- Ctrl+F / Ctrl+H — trova / sostituisci nel file
- Ctrl+Shift+F — ricerca globale (ripgrep)
- Ctrl+Shift+G — pannello di versionamento (Git)
- Ctrl+Shift+E / Ctrl+Shift+M — pannello Esplora / pannello Elementi in sospeso
- Ctrl+B — mostra/nascondi la barra laterale
- Ctrl+' — terminale (sul layout US, anche Ctrl+`)
- Ctrl+/ — commenta/decommenta; Ctrl+Shift+D — duplica riga
- F5 — esegui file; Ctrl+Shift+Invio — invia la selezione al terminale
- Ctrl+K / Ctrl+I — chiedi all'IA / modifica con l'IA
- Ctrl+B / Ctrl+I / Ctrl+E — nella nota Markdown: grassetto / corsivo / cambiare la modalità di visualizzazione
- Ctrl+Shift+X / Ctrl+Shift+C / Ctrl+Shift+H — nella nota: barrato / codice in linea / evidenziazione
- Ctrl+1…Ctrl+6 — nella nota: livello del titolo (ripetere lo stesso livello torna a paragrafo)
- Ctrl+Shift+V — nella nota: incolla senza formattazione
- Ctrl+Invio — “esegui qui”: istruzione SQL, cella di Blocchi, richiesta API, sorgente del diagramma/formula nella nota
- Ctrl+Shift+R / F4 — macro: registra / riproduci
- Ctrl+R — vai al file; Ctrl+Shift+P — tavolozza comandi
- Ctrl+Shift+K — vai all'attività; Ctrl+Shift+T — riapri scheda chiusa
- Ctrl+Alt+G — grafo delle connessioni
- Ctrl+Alt+N — cattura rapida (globale, anche fuori da LightNote)
- Ctrl+Alt+D / Ctrl+Alt+T — nota di oggi / attività rapida
- Ctrl+Alt+R — registra/ferma audio (globale, nota vocale rapida)
- F11 — modalità Zen (la scheda occupa tutta la finestra)
- Ctrl++ / Ctrl+- / Ctrl+0 — zoom
Lo stesso tasto può fare cose diverse a seconda della schermata attiva: vince la vista che ha il fuoco e, fuori da essa, vale la scorciatoia della finestra. Con una scheda Database attiva, F4 apre le proprietà dell’oggetto invece di riprodurre la macro; nel Diff e nel pannello di output, F8/Shift+F8 saltano da una modifica all’altra; e nella finestra File singoli, Alt+←/Alt+→ tornano indietro e avanti tra le cartelle. L'elenco completo e filtrabile si trova in Aiuto → Scorciatoie da tastiera.
Licenza, edizioni e comunità
LightNote viene distribuito in edizioni con le stesse funzionalità, che differiscono solo per licenza e distribuzione:
- LightNote (gratuito, dal sito web): per uso personale, non commerciale.
- LightNote Core (Microsoft Store): acquisito come contributo al progetto; concede una licenza per uso commerciale e riceve aggiornamenti automatici tramite lo Store.
- LightNote Business (futuro): licenza per volumi/aziendale, riservata per una disponibilità futura.
L'edizione della tua copia — e quindi quali clausole si applicano — è mostrata in Aiuto → Informazioni. I termini completi sono in Aiuto → Informazioni → Termini di licenza…
Partecipa e contribuisci:
- Suggerimenti e domande: GitHub Discussions —
github.com/nglczr/LightNote-Community/discussions - Hai trovato un bug? Segnalalo su GitHub Issues —
github.com/nglczr/LightNote-Community/issues - Sostieni lo sviluppo su Ko-fi —
ko-fi.com/lightnote(oppure ottieni LightNote Core sullo Store) - Contatto:
contato@lightnote.com.br· Sito web:lightnote.com.br