27.1.2 备份方式:重命名还是复制?

Emacs 可以通过两种方式创建备份文件:

第一种方式(重命名)为默认方式。

若变量 backup-by-copyingnil,则表示使用第二种方式, 即复制原文件并用缓冲区新内容覆盖它。若变量 file-precious-flagnil, 也会产生同样效果(这是其主要作用之外的附加行为)。See 保存缓冲区

User Option: backup-by-copying

若该变量非 nil,Emacs 将始终通过复制方式创建备份文件。默认值为 nil

下面三个变量在非 nil 时,会在特定场景下使用第二种备份方式。 对于不属于这些特殊场景的文件,它们不会产生任何影响。

User Option: backup-by-copying-when-linked

若该变量非 nil,Emacs 对拥有多个名称(硬链接)的文件采用复制方式创建备份。默认值为 nil

该变量仅在 backup-by-copyingnil 时有效, 因为只要后者非 nil,就会始终使用复制方式。

User Option: backup-by-copying-when-mismatch

若该变量非 nil(默认值),当重命名会改变文件的所有者或用户组时, Emacs 将采用复制方式创建备份。

若重命名不会改变文件所有者或用户组(即文件所有者为当前用户, 且用户组与该用户在此目录新建文件的默认用户组一致),则该变量无效。

该变量仅在 backup-by-copyingnil 时有效。

User Option: backup-by-copying-when-privileged-mismatch

若该变量非 nil,其行为与 backup-by-copying-when-mismatch 相同, 但仅对特定用户 ID 和组 ID 生效:即小于或等于某个数值的 ID。 该变量的值即为这个数值。

例如,若将 backup-by-copying-when-privileged-mismatch 设为 0, 则仅在必要时为超级用户与 0 号用户组的文件使用复制备份,以避免文件所有者发生变化。

默认值为 200。


emacs

Emacs

org-mode

Orgmode

Donations

打赏

Copyright

© Jasper Hsu

Creative Commons

Creative Commons

Attribute

Attribute

Noncommercial

Noncommercial

Share Alike

Share Alike