Odkryłem, że podczas używania Vima na Windowsie Vim zapisuje plik, .ext.swp
plik, który jest usuwany po zamknięciu okna Vima i .ext~
plik.
Zakładam, że .ext.swp
plik jest kopią zapasową sesji na wypadek awarii Vima. Jaki jest jednak cel tego .ext~
pliku? Czy to jest trwały plik kopii zapasowej? To irytujące, ponieważ chciałbym skopiować wszystkie pliki, nad którymi pracuję, na mojego hosta bez tych duplikatów. Jak mogę to wyłączyć lub , jeśli jest tam z ważnego powodu, ukryć pliki ?
.ext.swp
.Odpowiedzi:
*.ext~
Jest to plik kopii zapasowej, zawierający plik, jak to było zanim go edytować.*.ext.swp
Plik jest plik wymiany, który służy jako plik blokady i zawiera historię cofania / powtarzania, jak również wszelkie inne wewnętrzne informacyjne Vima potrzeb. W przypadku awarii możesz ponownie otworzyć plik, a Vim przywróci poprzedni stan z pliku wymiany (co uważam za pomocne, więc go nie wyłączam).Aby wyłączyć automatyczne tworzenie kopii zapasowych, użyj (w swoim vimrc):
Gdzie
nowritebackup
zmienia domyślne zachowanie "zapisywania" Vima, które jest:i sprawia, że Vim zapisuje bufor do oryginalnego pliku (co grozi zniszczeniem go w przypadku błędu I / O). Ale zapobiegasz „przeskakiwaniu plików” na pulpit systemu Windows, co jest głównym powodem, dla którego mam to
nowritebackup
miejsce.źródło
you prevent "jumping files" on the Windows desktop
. Wyszukałem w Google i znalazłem tę odpowiedźnobackup
inowritebackup
? Czy istnieje sposób na zapisanie kopii pliku jako kopii zapasowej, ale nie należy tego zapisywać / usuwać / zmieniać nazwy?backup
(w przeciwieństwie donobackup
), Vim utworzy kopię zapasową (*.ext~
plik). To jest zupełnie niezwiązane znowritebackup
.help backup-table
. Okazuje się, że ustawienie ani „nobackup
nor”nowritebackup
, ale zamiast tegobackupcopy=yes
rozwiązuje również problem „skakania”. Może to jednak zaszkodzić perf, więc każdemu z nichset backupdir=~/.vim/backup
Myślę, że lepszym rozwiązaniem jest umieszczenie tych linii w pliku vimrc
Pierwsza linia przeznaczona jest na pliki kopii zapasowych, druga na pliki wymiany. Podwójny ukośnik na końcu zapewnia, że nie ma konfliktu w przypadku dwóch plików o tej samej nazwie, patrz komentarze (w momencie tej edycji ta opcja jest honorowana tylko dla plików wymiany, a nie dla plików kopii zapasowych ).
,.
Pozwalająvim
korzystać z bieżącego katalogu, jeśli były nie istnieje.Aby to zadziałało, musisz utworzyć katalog w swoim katalogu domowym o nazwie vimtmp. Sprawdź również, czy kopie zapasowe są włączone w konfiguracji (dodaj,
set backup
jeśli nie).W ten sposób czerpiesz korzyści z obu światów, nie musisz widzieć plików, ale jeśli coś się stanie, możesz pobrać plik kopii zapasowej z vimtmp. Nie zapomnij od czasu do czasu wyczyścić katalogu.
źródło
Aby wyłączyć te pliki, po prostu dodaj te linie do .vimrc (plik konfiguracyjny vima w systemie operacyjnym opartym na unixie):
źródło
wyłączy kopie zapasowe. Możesz także ustawić katalog kopii zapasowej, jeśli nadal chcesz te pliki kopii zapasowych, ale w folderze centralnym. W ten sposób twój katalog roboczy nie jest zaśmiecony plikami ~.
Więcej informacji na temat kopii zapasowych znajdziesz w : Kopia zapasowa .
źródło
Możesz także ustawić inne rozszerzenie kopii zapasowej i miejsce, w którym chcesz ją zapisać (wolę
~/.vimbackups
na Linuksie). Kiedyś używałem "wersjonowanych" kopii zapasowych, poprzez:To ustawia dynamiczne rozszerzenie kopii zapasowej (
ORIGINALFILENAME-YYYYMMDD-HHMMSS.vimbackup
).źródło
set backupdir=~/.vimbackups
swój ~ / .vimrc:help backupext
Umieść tę linię w swoim
vimrc
:set nobk nowb noswf noudf
"
nobackup
nowritebackup
noswapfile
noundofile
W okna to byłby:
plik do konfiguracji Vima dla całego systemu dla wszystkich użytkowników.
Ustawienie tego ostatniego
noundofile
jest ważne w systemie Windows, aby zapobiec tworzeniu*~
plików tyldy po edycji.Chciałbym, żeby Vim miał domyślnie dołączoną tę linię. Nikt nie lubi brzydkich katalogów.
Pozwól użytkownikowi wybrać, czy i jak chce najpierw włączyć zaawansowane funkcje tworzenia kopii zapasowych / cofania plików.
To najbardziej irytująca część Vima.
Następnym krokiem może być konfiguracja:
set noeb vb t_vb=
"
errorbells
visualbell
aby wyłączyć sygnał dźwiękowy wigor także :-)
źródło
Masz rację, że
.swp
plik jest używany przez vim do blokowania i jako plik odzyskiwania.Spróbuj
set nobackup
wstawić swój vimrc, jeśli nie chcesz tych plików. Zobacz dokumentację Vima, aby uzyskać informacje o różnych opcjach związanych z kopiami zapasowymi, jeśli chcesz mieć całą miarkę lub zamiast tego chcesz mieć pliki .bak ...źródło
Jedyną opcją, która działała dla mnie, było umieszczenie tej linii w moim pliku ~ / .vimrc
set noundofile
Inne opcje dotyczące plików kopii zapasowych nie zapobiegły tworzeniu plików tymczasowych kończących się na ~ (tylda)
źródło
.<filename>.un~
plików, podczas gdy inne opcje usuwają tylko<filename>~
pliki.Musiałem dodać
set noundofile
do ~ _gvimrcKatalog „~” można zidentyfikować, zmieniając katalog za pomocą
cd ~
poleceniaźródło