vim 定时自动保存的方法

vim 定时自动保存的方法,第1张

vim 使用 swpfile 的机制来防止突然断电之类的情况发生。

swpfile 默认是打开的,除非你主动设置了关闭。具体机制是,在你编辑一个文件的时候,vim 自动把你编辑的内容保存在 .swp 文件里。当你退出 vim 的时候,它再自动把 .swp 文件删除。这样你不主动保存的话,原始文件还是原来的样子,你未保存的修改就自动删除了。

如果 vim 被意外关闭,.swp 文件就不会被删除。下次在打开同一个文件的时候 vim 会自动提示你要不要恢复内容。恢复后你可以直接保存覆盖原始文件,也可以另存为其它文件以便对比和原始文件的区别。这种情况 vim 不会再自动删除 .swp 文件,在你确认所有的修改后,需要手动删除相应的 .swp 文件。

vim 用两个标准来更新 .swp 文件:一个是你的打字数主(选项 'updatecount'

控制),默认是你每打 200 个字自动保存一次。一个是空闲时间(选项 'updatetime'

控制),默认是 4 秒什么都不做自动保存一次。这样可以保证如果意外断电,你未保存的修改不会太多。

如你样调整到比如 5 秒一次,那么执行

:set updatetime=5000

就行了,单位是毫秒。重启 vim 设置会失效,想永久生效要把这个命令写在 vimrc 里。

如果你确实需要自动保存的话,可以设置

:set autowriteall

它和你想要的可能不太一样。它就是在退出 vim 或者退出编辑某个文件(比如编辑到一半又用 :e 去编辑其它文件)的时候存盘。这可能会意外覆盖原始文件,导致许多不必要的麻烦。

通常这是不需要的,因为你在离开 vim 的时候它会提示你是不是要放弃未保存的修改。如果你确实需要这样设置,可以考虑配合

:set backup

一起使用。这会在覆盖之前备份一下原始文件。备份默认不是打开的,因为打开的话所有修改的文件都会存一个副本可能并不是需要的行为。

vim中的swp即swap文件,在编辑文件时产生,是隐藏文件。

文件异常退出后会产生,我的原文件名是 test.sh ,所有swp文件名就是 .test.sh.swp

如果文件正常退出,则此文件自动删除。

可以通过选项禁止产生swp文件


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11168749.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存