Kiedy edytujesz plik w vimie, generuje plik wymiany o takiej samej nazwie jak twój bieżący plik, ale z .swp
rozszerzeniem.
Jeśli .swp
jest już zajęty, to generuje jeden po .swo
drugim. Jeśli to już zostało zrobione, otrzymasz .swa
itp. Itp.
Nie mogłem znaleźć żadnej dokumentacji dotyczącej dokładnej kolejności zastępowania nazw dla tych plików. Czy ktoś może wyjaśnić, jaką konwencją są wybrane rozszerzenia?
Odpowiedzi:
Konkretny fragment kodu, którego szukasz (i komentarz) znajduje się w
memline.c
:źródło
Informacje z fragmentu kodu znajdują się w pomocy Vima. Zobacz
:h swap-file
:źródło
W, nieco łatwiejsze dla oczu, regex-speak:
Źródłem tego jest własny plik gitignore Githuba dla Vima .
źródło
wystarczająco dobry
.gitignore
Podczas gdy inne odpowiedzi tutaj są wyraźnie bardziej technicznie kompletne, tutaj jest wystarczająco dobry wpis dla większości
.gitignore
s, o to mi chodziło najczęściej:Jak widać z innych odpowiedzi,
vim
można utworzyć setki innych nazw, ale trzeba by ułożyć 16 plików wymiany, zanim to się nie powiedzie. Uogólniając na coś takiego,*.s[a-z][a-z]
może wydawać się bardziej poprawne, będzie również pasować do wielu prawidłowych rozszerzeń, co w przypadku.gitignore
oznacza, że te pliki nie będą śledzonegit
. Nigdy nie udało mi się utworzyć 16 plików wymiany dla tego samego pliku w ciągu 20 lat użytkowania,vim
więc mam nadzieję, że uda ci się zrobić to samo, a to zadziała dla Ciebie.bardziej rygorystyczna wersja
Jak wskazano w komentarzach Programiści Flash mogą mieć
.swf
pliki, więc woliszktóre nadal będą ignorować 10 plików wymiany, co jest wystarczające dla większości ludzi. Jedyną smutną częścią jest to, że tracisz mnemonik „zamiany”.
źródło
.sw2
lub.sw$
które powinny być śledzone w repozytorium..swf
pliki. Lub uaktualnij programistów Flash do wersji HTML5 :-).
lub_
dodane również.*.sw[a-p]
mnemonikę. Uwielbiam to :)Ta alternatywa .gitignore powinna zadowolić wszystkich. Drugi wiersz neguje ignorowanie „* .swf”.
źródło