保存文件时是否可以自动删除交换文件,并在文件更改时自动再次创建?
这是一个好主意吗?
编辑: 想要这样做的原因是,如果计算机突然断电或崩溃,我不必对上次保存后没有变化的文件进行差异处理。
所指的差异过程是;首先打开文件只读,保存在不同的文件名下,vimdiffing它,最后删除它。
这种情况不会经常发生,但在发生时也同样令人讨厌。
答案 0 :(得分:3)
保存文件时是否可以自动删除交换文件,并在文件更改时自动再次创建?
这是一个好主意吗?
删除和创建文件的操作相对较慢。如果要继续编辑,保留交换文件是有意义的。或者为什么还要让VIM继续运行?
此外,VIM使用交换文件来检测从不同VIM实例编辑同一文件的尝试。
总而言之,我认为尝试删除文件是个坏主意。
P.S。值得注意的是,当VIM以只读模式启动为view
或vim -R
时,它不会创建交换文件。但是,如果一旦更改文件,就会创建交换文件。
答案 1 :(得分:2)
我假设你像我一样有一个长时间运行的vim会话(我在屏幕会话中的第一个窗口总是vim,它通常会持续几天,几乎在整个正常运行时间内)。我认为如果你只是关闭缓冲区,交换文件就不会被保留,除非你有'隐藏'设置。发生的事情是,当你为缓冲区打开'hidden'时,vim会尝试保留缓冲区的所有撤消历史记录,因此必须让swapfile可访问,以防你回到缓冲区并开始撤消更改。至于我,我不喜欢这个功能,并保持关闭(这是默认设置),因此只需要处理崩溃时我在vim窗口中主动加载的那些缓冲区的交换文件。由于我有每隔5分钟自动保存一次会话的宏,并且因为我也禁用了Vim的默认交换文件检测提示,所以在崩溃后重启我的会话是相当轻松的。