vim - 浅谈vim的swp文件
入题
在集群环境中,使用vim打开文件时,经常会收到如下提示,
提醒.dummy.txt.swp已经存在。
这是因为另一个vim进程正在打开该文件,如果再打开一个vim进程,两个vim实例同时修改同一文件,将可能产生数据丢失或冲突。因此向编辑者给出该提示。
vim swp是什么
如Vim documentation: recover所说,vim将用户对被编辑的文件做出的修改,保存在一个swap文件中。当异常退出后,想从swap文件中恢复时,则在上图时可按R进行恢复。
在vim的命令模式下执行help swap
查看swap的介绍,
vim swap存放位置
在上面看到,设置directory选项来指定swap文件的存放位置。
在vim的命令模式下执行:help directory
查看directory的介绍,
默认为directory=.,~/tmp,/var/tmp,/tmp
,优先级从高到低存放(假设高优先级的目录下成功生成了swap文件,就低优先级的目录就不会生成swap文件),
- 点号,表示与被编辑文件相同路径下存放
- ~/tmp,表示家目录下的tmp目录
- /var/tmp,这个目录在系统重启后不会丢失
- /tmp,这个目录在系统重启后会丢失
与此同时也介绍了不同文件夹,不同文件系统保存swap文件的利弊。
vim swap常见问题
- 编辑超大文件时,/var/tmp目录被撑爆。
解决思路:请site管理员考虑将swap文件存放路径,修改到空间充裕的目录下。
解决方法:在vimrc中添加set directory=.,/tmp
这样的语句进行修改。
总结
完毕。