2010-05-12 10 views
21

W moim środowisku współużytkuję konfigurację vima z innymi programistami (i mam również własne dodatki konfiguracyjne) w różnych plikach .vimrc. Niektóre miejsca w środowisku, edytuję plik w vimie i automagicznie kopię tego pliku z końcowym przyrostkiem tyldy. Jakie opcje vim to kontrolują? Chciałbym wyłączyć tę funkcję, ponieważ po prostu zaśmieca moje katalogi i psuje automatyczne uzupełnianie w linii poleceń.Jak wyłączyć automatyczne zapisywanie pliku vim z przyrostkiem ~

Dzięki.

+0

Prawdopodobny duplikat [Dlaczego Vim zapisuje pliki z rozszerzeniem ~?] (Http://stackoverflow.com/questions/607435/why-does-vim-save-files-w--extension) –

Odpowiedz

18

Brzmi jak szukasz opcji nobackup:

:set nobackup 

Kopie nie są domyślnie włączone, więc to pewnie dostał plik konfiguracyjny gdzieś, że jest włączone.

+2

Wydają się być domyślnie włączonym w systemie Windows. –

39

Jeśli chcesz całkowicie wyłączyć kopie zapasowe, propozycja :set nobackup z @GregHewgill jest do zrobienia.

Jednak moje archiwa Vima zostały uratowane na tyle często, że chciałbym polecić alternatywę. Mam te ustawienia w moim .vimrc:

set backupdir-=. 
set backupdir^=~/tmp,/tmp 

Pierwsza linia usuwa bieżący katalog z listy katalogu kopii zapasowych (aby zachować ~ kopii zapasowych z katalogów roboczych). Drugi mówi Vimowi, aby próbował zapisać kopie zapasowe do ~/tmp lub do /tmp, jeśli nie jest to możliwe. (Ścieżki można dostosować do konkretnego środowiska, na przykład używam set backupdir^=$TEMP w systemie Windows.)

Innymi słowy, powoduje to, że pliki kopii zapasowych znikną z pola widzenia (i z drogi), ale nie je całkowicie.

+1

Ani ta, ani sugestia Grega Hewgilla nie zadziałała. Zastanawiam się, czy istnieje .vimrc, który zostanie wykonany PO moim .vimrc. Czy jest jakiś sposób, aby powiedzieć, z którego vvrr jest używany w konkretnej sesji vim? – Leonard

+0

Sprawdź: pomoc przy uruchamianiu dla długiego wyjaśnienia, jakie pliki vim czyta po uruchomieniu. – speshak

1

W systemie Windows miałem set nobackup w pliku C: \ Users \ my-user-name \ _vimrc; ale to nie działało. Następnie dodałem set nobackup do pliku C: \ Program Files (x86) \ Vim \ _vimrc. Nadal nie działa!

I później zorientowali, że C: Program Files \ (x86) \ Vim \ _vimrc ładuje skrypt próbki vimrc z $ VIMRUNTIME/vimrc_example.vim i że skrypt ma ten fragment:

if has("vms") 
    set nobackup  " do not keep a backup file, use versions instead 
else 
    set backup  " keep a backup file (restore to previous version) 
    if has('persistent_undo') 
    set undofile " keep an undo file (undo changes after closing) 
    endif 
endif 

Komentując że z obrobionych dla mnie! Tak naprawdę sprowadza się do ustalenia kolejności, w jakiej te skrypty są wykonywane, przez co nadpisuje wszystko, co mogłeś zrobić.

Powiązane problemy