回答有关恢复的问题,Vim不知道有关备份的东西。它的备份系统非常简单 - 写一个文件。要恢复,你必须手动完成。
但是,您可以向备份添加更多信息,以便于恢复。
理想情况下,backupdir
将支付//
以强制它扩展文件的路径并用%
替换/
。例如/tmp/foo.rb
将成为备份文件`tmp%foo.rb'。
请参阅undo
和*.swp
目录设置里面做采取//
:help undodir
和:help directory
。
但我们可以伪造这个!
" Prevent backups from overwriting each other. The naming is weird,
" since I'm using the 'backupext' variable to append the path.
" So the file '/home/docwhat/.vimrc' becomes '.vimrc%home%docwhat~'
au BufWritePre * let &backupext ='@'.substitute(substitute(substitute(expand('%:p:h'), '/', '%', 'g'), '\', '%', 'g'), ':', '', 'g').'~'
备份文件读取文件名然后目录,但它确实工作,应该是足够的唯一。
举例:.vimrc%home%docwhat~
是为/home/docwhat/.vimrc
如果你想一分备份分钟备份,所以你失去工作少,您可以附加一个时间戳的文件名:
au BufWritePre * let &backupext = substitute(expand('%:p:h'), '/', '%', 'g') . '%' . strftime('%FT%T') . '~'
但我d建议你设置一个cron作业来定期清理这个目录。如果你编辑了很多我的文件,这个文件会很快变大。
或者,你可以做一些巧妙的事情,在写作之前(用BufWritePre
钩子)改变backupdir
,但是vim的聪明程度超出了我的眼界。
Ciao!
其实,它看起来像边问题已经回来咬我。其中一个备份覆盖另一个,并且我没有任何/path/two/file.html ...叹息的记录。 – Tron
你可以通过阅读〜/ .viminfo文件来查看某些编辑历史记录。 – taro