Perché Vim salva i file con un’estensione ~?

Ho scoperto che durante l’utilizzo di Vim su Windows Vim salva il file, un file .ext.swp che viene eliminato alla chiusura della finestra di Vim e di un file .ext~ .

Presumo che il file .ext.swp sia un backup di sessione nel caso in cui Vim si blocchi. Qual è lo scopo del file .ext~ comunque? È un file di backup permanente? È fastidioso come mi piacerebbe copiare tutti i file che sto lavorando al mio host, senza questi duplicati. Come posso distriggersrlo o , se esiste per una buona ragione, hide i file ?

Il file *.ext~ è un file di backup, contenente il file com’era prima di essere modificato.

Il file *.ext.swp è il file di scambio, che funge da file di blocco e contiene la cronologia di annullamento / ripetizione e qualsiasi altra informazione interna richiesta da Vim. In caso di crash è ansible riaprire il file e Vim ripristinerà il suo stato precedente dal file di swap (che trovo utile, quindi non lo spengo).

Per distriggersre la creazione automatica di file di backup, utilizzare (nel proprio vimrc):

 set nobackup set nowritebackup 

Dove nowritebackup cambia il comportamento di “salvataggio” predefinito di Vim, che è:

  1. scrivere il buffer in un nuovo file
  2. cancella il file originale
  3. rinomina il nuovo file

e fa in modo che Vim scriva il buffer nel file originale (con il rischio di distruggerlo in caso di errore I / O). Ma si impedisce di “saltare i file” sul desktop di Windows con esso, che è la ragione principale per cui ho nowritebackup sul posto.

Penso che la soluzione migliore sia posizionare queste righe nel tuo file vimrc

 set backupdir=~/vimtmp,. set directory=~/vimtmp,. 

Devi creare una directory nella tua directory home chiamata vimtmp perché funzioni.

In questo modo si ottiene il beneficio di entrambi i mondi, non è necessario vedere i file, ma se qualcosa si esaurisce, è ansible ottenere il file di backup da vimtmp. Non dimenticare di pulire la directory ogni tanto.

Per distriggersre questi file, aggiungi queste righe a .vimrc (file di configurazione di vim su SO basato su unix):

 set nobackup #no backup files set nowritebackup #only in case you don't want a backup file while editing set noswapfile #no swap files 
 :set nobackup 

disattiverà i backup. È inoltre ansible impostare un backupdir se si desiderano ancora quei file di backup ma in una cartella centrale. In questo modo la tua directory di lavoro non è piena di ~ file.

Ulteriori informazioni sui backup sono disponibili sotto : he backup .

E puoi anche impostare una diversa estensione di backup e dove salvare i backup (preferisco ~/.vimbackups su linux). Ho usato i backup “con versione”, tramite:

 au BufWritePre * let &bex = '-' . strftime("%Y%m%d-%H%M%S") . '.vimbackup' 

Imposta un’estensione di backup dynamic ( ORIGINALFILENAME-YYYYMMDD-HHMMSS.vimbackup ).

Hai ragione che il file .swp è usato da vim per il blocco e come un file di recupero.

Prova a mettere set nobackup nel tuo vimrc se non vuoi questi file. Vedi i documenti di Vim per varie opzioni relative al backup se vuoi l’intero scoop, o vuoi avere file .bak invece …

L’unica opzione che ha funzionato per me è stata quella di mettere questa riga nel mio file ~ / .vimrc

imposta noundofile

Le altre opzioni che si riferiscono ai file di backup non impediscono la creazione dei file temporanei che terminano in ~ (tilde)

Metti questa linea nel tuo vimrc :

 set nobk nowb noswf noudf " nobackup nowritebackup noswapfile noundofile 

In Windows questo sarebbe il file C:\Program Files (x86)\vim\_vimrc per la configurazione di vim a livello di sistema per tutti gli utenti.

L’impostazione dell’ultimo file noundofile è importante in Windows per impedire la creazione di file *~ tilda dopo la modifica.


Vorrei che Vim avesse incluso quella linea di default. A nessuno piacciono le brutte directory.

Lascia che l’utente scelga se e in che modo desidera abilitare per prima cosa le funzionalità avanzate di backup / annullamento dei file.

Questa è la parte più fastidiosa di Vim.

Il prossimo passo è impostare set noeb vb t_vb= per disabilitare il beep: P

Ho dovuto aggiungere set noundofile a ~ _gvimrc

La directory “~” può essere identificata cambiando la directory con il comando cd ~