¿Qué hace realmente "nowritebackup"?

Pregunta:

Escuché en algún lugar que si la backup está deshabilitada y la backup writebackup está habilitada, Vim creará archivos de copia de seguridad durante la sesión de edición y luego eliminará estos archivos de copia de seguridad. Sin embargo, incluso con estos ajustes, es decir

set nobackup
set writebackup " Enabled!
set noswapfile
set noundofile  

No veo ningún archivo adicional creado.

Respuesta:

backup y writebackup son dos opciones aún entrelazadas separadas; son esencialmente dos mitades del mismo todo. Creo que la forma más fácil de explicar estas dos opciones es detallando lo que sucede cuando intentas sobrescribir un archivo con alguna combinación de estas opciones.

Desglose del escenario

Suponga que tiene un archivo foo.txt existente. Realiza algunos cambios en él (más allá de simplemente agregarlo) y emite un comando :write

Si la backup o la backup writebackup (o ambas) están habilitadas, antes de escribir el archivo, Vim creará una copia de seguridad (la ubicación depende de la configuración de backupdir ). Posteriormente, Vim intentará escribir el archivo original. En este punto, el comportamiento depende de la configuración de la backup :

  • Si no nobackup copia de seguridad, el archivo de copia de seguridad se elimina inmediatamente después de escribir correctamente el archivo original.
  • Si realiza una backup , el archivo de copia de seguridad se guarda posteriormente y se sobrescribirá en las copias de seguridad futuras.

Y eso es; el comportamiento realmente depende de la configuración de la backup . Cabe señalar que la backup anulará la backup writebackup en el caso de que la primera esté habilitada y la segunda esté deshabilitada, por ejemplo :set backup nowritebackup . En otras palabras, es idéntico a :set backup writebackup .

Esta tabla de :h backup-table describe lo mismo:

                            *backup-table*
'backup' 'writebackup'  action
   off       off    no backup made
   off       on     backup current file, deleted afterwards (default)
   on        off    delete old backup, backup current file
   on        on     delete old backup, backup current file

Respecto a los nombres de las opciones

Puede estar pensando que los nombres de estas opciones deberían intercambiarse, ya que el nombre de cada opción parece describir el de la otra con mayor precisión. Originalmente tenía esta misma opinión, pero voy a reflejar el comentario perspicaz de KRyan aquí:

Para ayudar a comprender la convención de nomenclatura, considere lo siguiente: la backup siempre produce una copia de seguridad, mientras que la copia de seguridad de writebackup produce una copia de seguridad durante un procedimiento de escritura . En otras palabras, escribir no se usa como un verbo, sino como un adjetivo que describe el tipo de respaldo que está habilitando.

Leave a Comment

Your email address will not be published.

Scroll to Top

istanbul avukat

-

web tasarım