FunzioniPrezziDocumentazioneBlog
Ottieni mote
← Blog
Design·30 agosto 2026·4 min di lettura

Abbiamo scelto il file come fonte di verità, così da salvare solo i byte digitati dall’utente

Ti è mai capitato di vedere in git diff una tabella che non avevi modificato? mote considera il file, non il modello del documento, come fonte di verità e, al momento del salvataggio, scrive sul disco soltanto i byte che hai digitato.

m
mote
La barra di stato subito dopo aver incollato una frase e salvato. Sul disco sono cambiati davvero soltanto 17 byte.
La barra di stato subito dopo aver incollato una frase e salvato. Sul disco sono cambiati davvero soltanto 17 byte.

A volte basta correggere una sola parola in una tabella Markdown perché Git mostri l’intero documento come modificato.

Succede perché, durante il salvataggio, l’editor risistema la spaziatura e le interruzioni di riga della tabella. In altre parole, scrive nel file persino spazi che l’utente non ha inserito. Un esempio è Typora, che riempie di spazi gli intervalli tra le barre verticali per uniformare la larghezza delle colonne della tabella.

mote salva in modo diverso. Mantiene intatto il testo originale del file e si limita a visualizzare sopra di esso effetti grafici come il grassetto, le tabelle e le formule. Perciò, al momento del salvataggio, cambiano soltanto i byte modificati dall’utente.

Puoi controllare l’entità delle modifiche prima di salvare

mote mostra nella barra di stato il numero di byte che cambieranno con il salvataggio.

Confronta il file originale al momento dell’apertura con il contenuto attuale e calcola soltanto le parti effettivamente diverse. Quando modifichi qualcosa, mostra 17 B in attesa di salvataggio; se annulli tutte le modifiche, il messaggio cambia in Uguale al file salvato. Dopo il salvataggio, Salvataggio completato · 17 B rimane visibile fino alla modifica successiva.

Schermata dopo aver annullato la modifica — nella barra di stato, al posto del numero di byte che cambieranno, compare "Uguale al file salvato".
Schermata dopo aver annullato la modifica — nella barra di stato, al posto del numero di byte che cambieranno, compare "Uguale al file salvato".

Questo numero funziona indipendentemente da Git. Puoi visualizzarlo anche in una cartella che non è un repository Git e non è influenzato dallo stato dello staging o dei commit.

Corrisponde però all’entità delle modifiche che appariranno in Git diff. Puoi quindi controllare già prima di salvare che cambino soltanto le parti che hai modificato.

Se modifichi una cella della tabella, cambia soltanto quella cella

La differenza si nota soprattutto quando si modifica una tabella.

In modalità live (Live), la tabella appare come una griglia. Soltanto la cella in cui si trova il cursore torna a mostrare il testo originale. Se modifichi una parola al suo interno e salvi, nella barra di stato compare +8 −6 B. Anche in Git diff appare soltanto la riga interessata.

La barra di stato e git diff dopo aver modificato e salvato una parola in una cella della tabella in modalità live. L’allineamento della tabella e le altre righe non sono cambiati nemmeno di un byte.
La barra di stato e git diff dopo aver modificato e salvato una parola in una cella della tabella in modalità live. L’allineamento della tabella e le altre righe non sono cambiati nemmeno di un byte.

L’allineamento delle colonne e gli spazi tra le barre verticali rimangono invariati. Non vengono toccati neppure il marcatore di elenco * o i due spazi alla fine di una riga. Se il file non aveva un’interruzione di riga finale, non ne viene aggiunta una nuova.

Lo stesso vale per il testo incollato. Il testo degli appunti viene inserito così com’è, senza essere convertito in un altro formato. Puoi controllare immediatamente nella barra di stato la quantità aggiunta. Se non ti piace, puoi annullare una sola volta e tornare allo stesso stato del file salvato.

Vengono mantenute anche le altre caratteristiche del file. Le interruzioni CRLF rimangono CRLF e anche i file che contengono sia LF sia CRLF vengono salvati così come sono. Anche il BOM e l’interruzione di riga finale seguono l’originale. A ogni rilascio, questo comportamento viene verificato con test di salvataggio round-trip.

Le modifiche al file iniziano soltanto da un’azione dell’utente

Ci sono tre casi in cui mote aggiunge byte al documento.

Quando l’utente digita o incolla del testo, quando conferma un’immagine negli appunti, la salva e inserisce il relativo collegamento, oppure quando trascina l’angolo di un’immagine per ridimensionarla e registra il valore nel testo alternativo.

Sono tutte modifiche avviate direttamente dall’utente. Puoi anche verificare nel registro delle modifiche che cosa è cambiato.

Non vengono creati nemmeno file separati accanto al documento. Le informazioni che non possono essere contenute in Markdown, come la larghezza delle colonne di una tabella, non vengono salvate separatamente e la relativa funzionalità non viene offerta.

Le informazioni dell’app, come le impostazioni, i file recenti e i 20 backup, vengono salvate soltanto nella cartella di stato all’interno della home dell’utente. Di conseguenza, in Git, Dropbox o Syncthing, la cartella dei documenti si comporta come se mote non fosse presente.

In compenso, non corregge automaticamente il file

Mantenere il file intatto significa anche non correggere arbitrariamente una sintassi errata.

Le tabelle danneggiate, i blocchi di codice non chiusi e i rientri disallineati degli elenchi vengono mostrati esattamente come vengono interpretati da CommonMark. Se l’aspetto è diverso da quello desiderato, devi correggerli direttamente in modalità sorgente (Source).

Un editor che non ti fa sapere che cosa cambia durante il salvataggio prende il file in prestito. mote ti restituisce il file che gli hai affidato esattamente com’era.

← Meno recentiPerché pubblichiamo i numeri invece di limitarci a dire che è leggeroPiù recenti →Come abbiamo impedito che un file si corrompa anche se l’app si chiude durante il salvataggio
Segui gli aggiornamenti via RSS.
Lascia solo la scrittura.
Italiano
© 2026 mote