Come faccio a sapere se un file di scambio Vim non è modificato e non è aperto?


2

Ho spesso dozzine di file aperti in Vim quando la mia macchina si arresta in modo anomalo e li apro tutti in una volta attraverso un file di sessione. Tuttavia, tutte le istruzioni sui file di sessione esistenti mi infastidiscono. Scelgo sempre l'opzione [d] elete a meno che:

  1. Il file era stato modificato o
  2. Il file è aperto in un altro processo.

Vorrei automatizzare il processo tramite SwapEventautocmd, in modo da vedere solo quei due casi; tuttavia, le uniche informazioni facilmente accessibili sono <afile>e v:swapname. Il prompt mostra se il file di scambio ha delle modifiche e se un processo con il suo numero è attualmente in esecuzione, quindi so che le informazioni sono disponibili, ma come posso accedervi? Dovrò avviare un processo esterno per leggere il file di scambio?

Risposte:


2

Dai un'occhiata a recover.vim - Mostra le differenze per il plug-in dei file recuperati . Ha un'opzione per diff il file di scambio con il file salvato e offre di eliminare il file di scambio quando non ci sono modifiche.


L'avevo visto, ma la sua funzionalità principale non è proprio quello che voglio. Guardando più in profondità nella fonte, tuttavia, sembra chiamare un'altra copia di Vim e analizzare l'output per determinare le informazioni di cui ho bisogno. Non c'è davvero un modo migliore?
eswald,

Christian Brabandt ha pubblicato molti fantastici plugin e conosce gli interni di Vim probabilmente come lo stesso Bram. Se non ha trovato un modo diverso, sono abbastanza sicuro che non lo sia; non aver paura di contattarlo, comunque.
Ingo Karkat,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.