Dlaczego vim pozostawia wszędzie tymczasowe wersje plików?

9

Po pierwsze zakładam, że pliki kończące się na „~”, które są tworzone przez vima podczas edycji pliku, rzeczywiście służą do tymczasowego tworzenia kopii zapasowych podczas edycji.

Ale za każdym razem, gdy otwieram plik za pomocą vima i zamykam go (: wq), znajduję taki plik ~. Dlaczego VIM nie sprząta? Zakładam, że coś jest źle skonfigurowane.

Raffael
źródło
2
Nie są to tymczasowe pliki kopii zapasowych; są to poprzednie wersje plików. W katalogu pod kontrolą wersji stają się uciążliwe.
Thorbjørn Ravn Andersen

Odpowiedzi:

19

Możesz wyłączyć tworzenie kopii zapasowych, umieszczając tę ​​linię w pliku vimrc:

ustaw nobackup

Ale jeśli nadal chcesz wykonać kopię zapasową plików, scentralizuj ją w katalogu za pomocą:

ustaw backupdir = ~ / tmp

na przykład.

periket2000
źródło
1
dzięki - ale czy to naprawdę jest zamierzone zachowanie? Mam na myśli to, że nawet jeśli nic nie zmieniam w pliku, pliki te są tworzone i pozostają po zamknięciu vima. Zakładam (intuicyjnie), że vim musi się pozbyć tych plików podczas zamykania !? Nie chciałbym go wyłączać, ponieważ może się przydać podczas awarii vima. Rozwiązanie backupdir wydaje się jednak być dobrym kompromisem
Raffael,
Tak; Są to pliki kopii zapasowych; domyślnym zachowaniem jest tworzenie tych plików kopii zapasowych.
Ramhound,
@ Яaffael, backupopcja jest domyślnie wyłączona, powinieneś przeczytać dokument przed włączeniem opcji.
romainl
2
@ Яaffael .swpPliki są używane, gdy vim ulega awarii, a nie kopie zapasowe
Izkata
1
Pliki kopii zapasowej są tworzone podczas zapisywania pliku. Jeśli nic nie zmieniłeś, dlaczego to napisałeś? Jeśli zwyczajowo tak robisz, :wmożesz to zrobić :upzamiast tego, co zaoszczędzi tylko, jeśli nastąpią zmiany.
Ben
5

Po pierwsze zakładam, że te pliki […] rzeczywiście służą do tymczasowego tworzenia kopii zapasowych podczas edycji.

Nie. Są to nie współczesne kopie zapasowe tworzone podczas zapisywania .

Pliki tymczasowe tworzone podczas edycji mają nazwy .wibble.swp(na platformach podobnych do UNIX) (dla pliku o nazwie wibble).

: pomoc kopii zapasowej
vimsam w sobie daje gen na tym pierwszym, w tym zasady określające, kiedy tworzone są pliki kopii zapasowej, a kiedy nie.
: pomóż zamienić
daje gen na tym drugim.

JdeBP
źródło
1) co oznacza „gen”? 2) w jakim celu służą te tymczasowe kopie zapasowe?
Raffael
2
Za pomocą tego linku zmuszasz czytelników do przeglądania definicji, dopóki nie ma to sensu. Dlaczego nie powiedzieć, że jest to nieformalny świat dla „informacji”?
Andrew Cheong,