刚开始使用vim编辑文档时,由于对模式及命令的不熟悉,经常会进入一些搞不清状况的情形,然后强制退出文档,最开始的时候甚至会使用Ctrl+Z来强制关闭vim。
诸如此类的非正常关闭vim编辑器(直接关闭终端、电脑断电等),都会生成一个用于备份缓冲区内容的临时文件——.swp文件。它记录了用户在非正常关闭vim编辑器之前未能及时保存的修改,用于文件恢复。并且多次意外退出并不会覆盖旧的.swp文件,而是会生成一个新的,例如.swo文件。
例如第一次产生一个.practice.txt.swp,再次意外退出后,将会产生名为.practice.txt.swo的交换文件;而第三次产生的交换文件则为“.practice.txt.swn”;依此类推。
可以通过 ls -al 查看当前文件夹下产生的交换文件。
再次进入文件出现如下提示
可以使用 vim -r practice.txt来恢复文件
文件恢复后可以删除相应的 .swp文件。
PS:我用的kali-rolling启用vim编辑器的指令不是vim,而是vi。
而我安装的Redhat7虚拟机的命令确实为vim,输入alias后发现Redhat7中有定义 alias vi=‘vim’
如果不想vim产生交换文件,则可以使用如下命令禁止
:set noswapfile
也可以使用以下命令,设置生成交换文件
:set swapfile
这两个设置仅对当前文件生效
默认设置,交换文件会每隔4000毫秒或者200个字符保存一次。可以通过命令修改此设置
:set updatetime=8000
:set updatecount=800