Ti capita mai di aprire una cartella di progetto e trovarti davanti a un file strano, con un nome simile a .nomefile.swp? Probabilmente la prima reazione è stata quella di pensare a un virus o a un errore del sistema. Niente panico.

Non è nulla di pericoloso. Anzi, in un certo senso, quel file è lì per proteggerti.

Il mistero dei file .swp: cosa sono davvero?

Per capire cos'è un file .swp (abbreviazione di swap), dobbiamo fare un salto indietro e parlare dell'editor di testo Vim. Se sei un programmatore, un amministratore di sistema o semplicemente qualcuno che smanetta nel terminale Linux o macOS, avrai sicuramente incrociato questo strumento.

Il file .swp è essenzialmente un file di backup temporaneo creato automaticamente da Vim mentre modifichi un documento. Immaginalo come una sorta di "bozza invisibile" che salva ogni singola modifica in tempo reale.

Perché farlo? Semplice: per evitare che tu perda ore di lavoro se il computer si spegne improvvisamente o se la sessione SSH crasha prima che tu possa salvare.

Un dettaglio non da poco è che questi file sono nascosti. Iniziano con un punto, il che nel mondo Unix significa che non li vedi a meno che tu non attivi l'opzione per mostrare i file occulti.

Quando il file .swp diventa un problema

Finché tutto va bene, non ti accorgi nemmeno della sua esistenza. Il problema nasce quando riapri quel file e Vim ti sbatte in faccia un messaggio di avviso fastidioso che dice qualcosa come "Found a swap file by the name...".

Cosa significa? Significa che sono successe due cose possibili:

  • Scenario A: Hai già un'altra istanza di Vim aperta che sta modificando quel file. Magari in un altro terminale o in un'altra finestra dimenticata.
  • Scenario B: L'ultima volta che lavoravi su quel documento, il programma si è chiuso male. Il computer è andato in crash, c'è stato un blackout o hai chiuso il terminale senza salvare e uscire correttamente.

In entrambi i casi, Vim ti avvisa perché non vuole che tu sovrascriva i cambiamenti salvati nel file .swp o che crei conflitti di versione.

Come gestire l'avviso (senza fare danni)

Quando appare quell'avviso, hai diverse opzioni. Non cliccare a caso.

La prima cosa da fare è provare il comando Recover. Questo permette a Vim di leggere i dati contenuti nel file .swp e ricostruire il documento esattamente come era nell'ultimo istante prima del crash. È una salvezza assoluta quando ti rendi conto che avevi scritto dieci righe di codice fondamentali ma non avevi ancora premuto :w.

Una volta recuperati i dati, però, c'è un passaggio fondamentale che molti dimenticano.

Il file .swp non scompare da solo.

Anche dopo aver salvato il file recuperato, lo swap rimarrà lì a infestare la tua cartella. E ogni volta che riaprirai il documento, Vim continuerà a lamentarsi. Per risolvere definitivamente, devi eliminare manualmente il file .swp dal terminale usando il comando rm.

Posso aprire un file .swp con altri programmi?

Tecnicamente sì, ma non otterrai nulla di leggibile. I file swap non sono semplici file di testo; contengono metadati e informazioni binarie necessarie a Vim per gestire il ripristino.

Se provi ad aprirlo con il Blocco Note o TextEdit, vedrai un ammasso di caratteri senza senso e simboli strani. Proprio così.

L'unico modo sensato per "leggere" il contenuto è usare Vim stesso tramite la funzione di recupero. Qualsiasi altro tentativo di apertura sarebbe tempo sprecato.

Swap files in altri contesti: non solo Vim

Sebbene nel 90% dei casi chi cerca ".swp" stia parlando dell'editor Vim, il concetto di swap file è molto più ampio nell'informatica.

Il sistema operativo stesso usa i file di swap (o partizioni di swap) per gestire la memoria RAM. Quando la tua RAM fisica è piena, Windows o Linux spostano temporaneamente i dati meno utilizzati su un'area del disco rigido. Questo processo evita che il PC si blocchi completamente quando apri troppe schede di Chrome.

Quindi, se vedi riferimenti a swap file nelle impostazioni di sistema, non stiamo più parlando di piccoli file nascosti in una cartella, ma della gestione stessa della memoria del tuo computer.

Consigli rapidi per evitare il caos

Se odi vedere quei file .swp sparsi ovunque o se trovi irritante l'avviso costante di Vim, ci sono un paio di strade che puoi intraprendere.

Puoi configurare Vim per salvare tutti i file swap in una cartella specifica e centralizzata. In questo modo, le tue directory di progetto rimarranno pulite e i file temporanei saranno tutti raggruppati in un unico posto, lontano dai tuoi occhi.

Oppure puoi semplicemente disabilitarli del tutto nel file .vimrc aggiungendo l'opzione set noswapfile. Ma attenzione: farlo significa accettare il rischio di perdere ogni singola modifica in caso di crash. Una scelta rischiosa, se me lo chiedete.

Il mio consiglio? Lasciateli stare. Sono piccoli, invisibili e fanno il loro lavoro silenziosamente. Quando appaiono, sono solo un promemoria che qualcosa è andato storto, ma offrono la possibilità di tornare indietro dal baratro della perdita dei dati.

Riassumendo: cosa fare ora?

Se hai trovato un file .swp e non sai cosa farne, segui questo schema mentale:

  • Il file è in una cartella dove usi Vim? È normale.
  • Hai perso dei dati dopo un crash? Usa 'Recover'.
  • Il file è lì ma il documento originale è aggiornato e salvo? Eliminalo senza pietà.
  • Il file è apparso in una cartella dove non hai mai usato editor di testo professionali? Fai comunque una scansione antivirus per sicurezza, anche se è improbabile che sia un malware.

A volte la semplicità sta nel capire che ciò che sembra un errore è in realtà una funzione di sicurezza thoughtfully progettata decenni fa e ancora validissima oggi.