Jaki jest właściwy sposób, aby git ignorował pliki tymczasowe tworzone przez vima we wszystkich katalogach (globalnie w systemie lub lokalnie dla jednego projektu)?
git
vim
ignore
temporary-files
jrdioko
źródło
źródło
*.sw?
rozwiązuje standardowe,.swp
ale także alternatywne rozszerzenia plików wymiany.swo
..swf
pliki. Odradzam to, szczególnie jeśli budujesz aplikację Flash..
Jednak ten sam wzorzec poprzedzony ukrytym plikiem powinien temu zapobiec..tmp.swp
,.tmp.swo
, ...,.tmp.swa
), vim tworzy.tmp.svz
. Brakuje mi cierpliwości, aby zobaczyć, co nastąpi później.tmp.saa
- być może.tmp.rzz
? AKTUALIZACJA: Patrząc na źródło (src/memline.c
, funkcjęfindswapname()
), poddaje się.saa
z błędem: „E326: Znaleziono zbyt wiele plików wymiany”.Odpowiedzi:
Pliki tymczasowe Vima kończą się na ~, więc możesz dodać do pliku
.gitignore
linięVim tworzy również pliki wymiany, które mają rozszerzenia swp i swo. aby je usunąć, użyj linii:
Spowoduje to zignorowanie wszystkich plików tymczasowych vim w jednym projekcie
Jeśli chcesz to zrobić globalnie, możesz utworzyć plik .gitignore w domu (możesz nadać mu inną nazwę lub lokalizację) i użyć następującego polecenia:
Następnie wystarczy dodać do tego pliku pliki, które chcesz zignorować
źródło
.*.sw*
w swoim,.gitignore
aby ukryć je wszystkie..*.sw?
jest bardziej dokładny. (Chociaż widziałem, jak ludzie używają jakiegoś wariantu,*.sw*
by podejrzewać, że brakuje mi czegoś naprawdę oczywistego ...).*.s[a-w][a-z]
zignoruje.svg
pliki.Alternatywnie możesz skonfigurować vima, aby zapisywał pliki wymiany w oddzielnej lokalizacji, np. Dodając do
.vimrc
pliku wiersze podobne do następujących :Zobacz tę wskazówkę vima, aby uzyskać więcej informacji.
źródło
$TMPDIR
rzeczywistego tempdir :)$TEMP
znaczyset undodir=$TEMP//
, ponieważ zapisuję również trwałe pliki cofania.Jest to coś, co powinno być wykonywane wyłącznie dla poszczególnych użytkowników, a nie dla repozytorium. Jeśli Joe używa emacsa, będzie chciał zignorować pliki kopii zapasowej emacsa, ale Betty (która używa vi) będzie chciała ignorować pliki kopii zapasowej vi (w wielu przypadkach są one podobne, ale istnieje około 24 893 popularnych edytorów i jest dość śmieszne jest próba zignorowania wszystkich różnych rozszerzeń kopii zapasowych).
Innymi słowy, nie wkładaj niczego do
.gitignore
ani docore.excludes
środka$GIT_DIR/config
.$HOME/.gitconfig
Zamiast tego wstaw informacje (jak sugeruje nunopolonia--global
). Pamiętaj, że „globalny” oznacza dla użytkownika, a nie dla systemu.Jeśli chcesz skonfigurować system dla wszystkich użytkowników (czego nie potrzebujesz), potrzebujesz innego mechanizmu. (Prawdopodobnie z ustawieniami szablonów przed zainicjowaniem repozytorium.)
źródło
Poleciłbym również zignorować pliki takie jak:
ponieważ możesz mieć pliki, które kończą się
.swp
źródło
Zamknij vim przed „git commit”.
aby
vim
użyć innych folderów do tworzenia kopii zapasowych plików (/tmp
na przykład):aby vim przestał używać bieżącego folderu dla plików .swp:
Użycie
-=, +=
byłoby ogólnie dobre, ponieważ vim ma inne ustawienia domyślne dla bdir, reż , nie chcemy usuwać wszystkich. Sprawdź pomoc vima, aby uzyskać więcej informacji na temat bdir, reż :źródło
Oto rzeczywisty kod VIM, który generuje rozszerzenia plików wymiany:
Spowoduje to wygenerowanie plików wymiany w formacie:
Co właściwie jest zawarte w pliku gitignore gitub dla VIM .
Jak inni słusznie zauważyli, ten .gitignore zignoruje również pliki graficzne .svg i pliki flash Adobe .swf .
źródło
Odkryłem, że git będzie ignorował pliki tymczasowe utworzone przez vim:
Można go również wyświetlić tutaj .
źródło
.swf
pliki, które pojawiają się za każdym razem, gdy tworzysz aplikację flash..svg
co może stanowić problem.*.un~
ponieważ masz*~
pewnie,
wystarczy utworzyć „.gitignore” w katalogu domowym swojego projektu i musi on zawierać
Otóż to
jednym poleceniem
źródło
echo *.swp >> .gitignore
że lepiej jest unikać zastępowania poprzedniego .gitignore.echo '*.swp' >> .gitignore
>
postaci. Kiedyś zrobiłem to dopasswd
pliku, a następnie wylogowałem :-)http://vimdoc.sourceforge.net/htmldoc/recover.html
http://www.vim.org/scripts/script.php?script_id=1075
źródło
W moim przypadku pliki tymczasowe zostały już zatwierdzone przez poprzednie działania, więc modyfikacja pliku .gitignore nie wpłynie na te
git rm files_to_be_ignored --cache
zatwierdzone pliki ... musisz najpierw, a następnie zatwierdzić, a następnie GOTOWE.źródło
Działa to na komputerze Mac, jak zauważył Alex Moore-Niemi:
Upewnij się, że używasz,
TMPDIR
a nieTEMPDIR
.źródło
Jeśli korzystasz z kontroli źródła. Pliki tymczasowe vim są dość bezużyteczne.
Więc możesz skonfigurować vima, aby ich nie tworzył.
Po prostu edytuj plik ~ / .vimrc i dodaj następujące wiersze:
źródło
screen
(lubdtach
jeśli nie chce wszystkich funkcji ekranu). Awarie zasilania są obsługiwane przez UPS. Kopie zapasowe są tworzone przez {twoje ulubione oprogramowanie do tworzenia kopii zapasowych wszystkich ważnych plików}. Używam plików wymiany, aby otrzymywać powiadomienia, gdy próbuję edytować pliki, które są już edytowane, tworzenie kopii zapasowych plików, ponieważ posiadanie N + 1 miejsca z kopią zapasową nie szkodzi i cofanie plików, ponieważ trwałe cofanie jest przydatne. Tylko cofanie plików jest dla mnie trochę ważne.