Cuando edita un archivo en vim, genera un archivo de intercambio con el mismo nombre que su archivo actual, pero con una .swp
extensión.
Si .swp
ya está tomado, genera uno a .swo
uno. Si eso ya está tomado, entonces obtienes .swa
, etc., etc.
No pude encontrar ninguna documentación sobre cuál es el orden exacto de asignación de nombres para estos archivos, ¿alguien puede aclarar por qué convención se eligen las extensiones?
Respuestas:
El fragmento de código particular que está buscando (y comenta) está en
memline.c
:fuente
La información del fragmento de código está en la ayuda de Vim. Ver
:h swap-file
:fuente
En, un poco más fácil para los ojos, regex-speak:
La fuente de esto es el propio archivo gitignore de Github para Vim .
fuente
suficientemente bueno
.gitignore
Si bien las otras respuestas aquí son claramente más completas técnicamente, aquí hay una entrada lo suficientemente buena para la mayoría de los
.gitignore
s, que es donde me he preocupado por esto con mayor frecuencia:Como puede ver en las otras respuestas,
vim
puede crear cientos de otros nombres, pero tendría que acumular 16 archivos de intercambio antes de que esto fallara. Al generalizar a algo como*.s[a-z][a-z]
podría parecer más correcto, también coincidirá con muchas extensiones válidas, lo que en el caso.gitignore
significa que esos archivos no serán rastreadosgit
. Nunca he logrado crear 16 archivos de intercambio para el mismo archivo en 20 años de uso,vim
así que espero que puedas hacer lo mismo y esto funcionará para ti.versión más estricta
Como se señaló en los comentarios, los desarrolladores de Flash pueden tener
.swf
archivos, por lo que puede preferirque aún ignorará 10 archivos de intercambio, lo cual es suficiente para la mayoría de las personas. La única parte triste es que pierdes la mnemotecnia de "intercambio".
fuente
.sw2
o.sw$
que deberían rastrearse en el repositorio..swf
archivos. O actualice sus desarrolladores Flash a HTML5 :-).
o el_
que también se agrega.*.sw[a-p]
mnemónica por mí mismo. Me encanta :)Esta alternativa .gitignore debería satisfacer a todos. La segunda línea niega ignorar '* .swf'.
fuente