Lorsque vous modifiez un fichier dans vim, il génère un fichier d'échange du même nom que votre fichier actuel, mais avec une .swp
extension.
Si .swp
est déjà pris, alors il en génère un .swo
un. Si cela est déjà pris, alors vous obtenez .swa
, etc. etc.
Je ne pouvais trouver aucune documentation sur l'ordre exact de remplacement pour ces fichiers. Quelqu'un peut-il préciser selon quelle convention les extensions sont choisies?
Réponses:
Le code particulier que vous recherchez (et commentez) se trouve dans
memline.c
:la source
Les informations de l'extrait de code sont dans l'aide de Vim. Voir
:h swap-file
:la source
Dans, légèrement plus facile pour les yeux, parler regex:
Le fichier gitignore de Github pour Vim en est la source .
la source
assez bien
.gitignore
Alors que les autres réponses ici sont clairement plus complètes techniquement, voici une entrée assez bonne pour la plupart des
.gitignore
s, c’est là que je me suis le plus préoccupé:Comme vous pouvez le constater, d'autres réponses
vim
peuvent créer des centaines d'autres noms, mais vous devez empiler 16 fichiers d'échange avant que cela ne soit un échec. En généralisant à quelque chose qui*.s[a-z][a-z]
pourrait sembler plus correct, cela correspondra à beaucoup d'extensions valides qui, dans le cas de.gitignore
moyens, ne permettront pas de suivre ces fichiersgit
. Je n'ai jamais réussi à créer 16 fichiers d'échange pour le même fichier en 20 ans d'utilisationvim
. J'espère donc que vous pourrez faire de même et que cela fonctionnera pour vous.version plus stricte
Comme indiqué dans les commentaires, les développeurs Flash peuvent avoir des
.swf
fichiers et vous préférerez peut-êtrequi ignorera tout de même 10 fichiers d'échange, ce qui est suffisant pour la plupart des gens. La seule partie triste est que vous perdez le mnémonique "swap".
la source
.sw2
ou.sw$
qui devraient être suivis dans le référentiel..swf
fichiers. Ou mettez à niveau vos développeurs Flash vers HTML5 :-).
ou_
ajoutés.*.sw[a-p]
mnémonique moi-même. Je l'aime :)Cette alternative .gitignore devrait satisfaire tout le monde. La deuxième ligne nie en ignorant "* .swf".
la source