我一直在Windows 7下开发perl应用程序,其中有一个子程序列出给定目录中的所有源文件。为了节省下一次运行所需的时间,找到的源文件被写入缓存(纯文本文件)。然后,只有在源文件夹中有更改时才会更新此缓存。我假设可以检查文件夹的修改时间来检查是否添加或删除了文件,并仅在需要时更新缓存文件。
在设置后,源文件夹中没有添加换页文件,但目录的修改时间在保存文件后改变了。我使用的是gVim 8.0.586 for Windows,但即使使用“干净”的vim(8.0 1-1376)、neovim(v0.2.2-1173-gc46d6f8da)和cygwin vim,它们只设置了directory,也给出了同样的结果。使用Notepad++或Atom编辑相同的源文件只会改变该文件的修改时间,而不是包含它的目录的修改时间。有没有人知道是什么原因导致vim表现出这种行为?编辑后,我也在我的_vimrc中加入了这两行代码:
如 Wumpus 建议,我尝试关闭了备份和写入备份,确实起到了作用,但是我没有任何备份文件。 :(
这似乎一直很好地工作,直到我使用vim编辑了一些源文件,它也更新了包含文件夹的修改日期。起初,我认为是因为vim向编辑的源位置添加了交换文件。因此,我在_vimrc文件中设置了目录指向另一个位置。
set directory=~/.vim/swap " directory to place swap files in
在设置后,源文件夹中没有添加换页文件,但目录的修改时间在保存文件后改变了。我使用的是gVim 8.0.586 for Windows,但即使使用“干净”的vim(8.0 1-1376)、neovim(v0.2.2-1173-gc46d6f8da)和cygwin vim,它们只设置了directory,也给出了同样的结果。使用Notepad++或Atom编辑相同的源文件只会改变该文件的修改时间,而不是包含它的目录的修改时间。有没有人知道是什么原因导致vim表现出这种行为?编辑后,我也在我的_vimrc中加入了这两行代码:
set backup " make backup files
set backupdir=~/.vim/backup " where to put backup files
如 Wumpus 建议,我尝试关闭了备份和写入备份,确实起到了作用,但是我没有任何备份文件。 :(
:set nobackup nowritebackup
如果在_vimrc文件中没有设置writebackup
,则默认为开启状态。
:set backupcopy=yes
运行良好! :) 感谢您的帮助! - it3q