Vim - 创建编号备份文件?

Vim - 创建编号备份文件?

我发现自己希望 Vim 创建编号备份文件,这样每次保存时,备份文件名中都会有一些序数。我目前的动力是,我对 C 代码进行了更改,这些更改具有难以想象的灾难性副作用,我想比较我在阅读导致问题的代码时所做的所有“小调整”。它们可能是在几次编辑之前进行的,只是刚刚才被发现。到那时,撤消就太晚了。

例如,假设我退出foo.txt,Vim 会创建一个foo.txt~,但那是不够

当我重新编辑(或重新保存)时foo.txt,我希望它创建一个名为“...”等foo.txt~001foo.txt~002备份foo.txt~421

这已经可能了吗?

(在过去,某些大型机编辑器会自动执行此操作。)

我不在乎它是 1、2、3 还是时间戳,随便什么。只是某种跟踪最近N更改的方法(我想象将 N 设置为大约 100 )。

答案1

没有 vim 选项可以直接执行此操作,但是在vim 文档对于选项backupext(指定用于备份文件的扩展名),有一个建议如何执行您要求的操作(尽管使用时间戳而不是数字,但您基本上可以获得相同的效果):

    If you like to keep a lot of backups, you could use a BufWritePre
    autocommand to change 'backupext' just before writing the file to
    include a timestamp.
        :au BufWritePre * let &bex = '-' . strftime("%Y%b%d%X") . '~'
    Use 'backupdir' to put the backup in a different directory.

话虽如此,对于你的用例,你应该真正看看版本控制系统,两个流行的是git水银的

相关内容