1.vim修改文件机制
在使用vim打开文件时,会把文件复制一份,编辑副本,最后完成时副本替换正文
2.衍生的问题
所以出现了一个问题,那就是编辑过程中异常退出(如vim编辑中途关机)的话,会导致副本没有覆盖原文件,而出现两个文件共存的情况,而对于linux副本文件的描述,就是所谓的交换文件.swap,而下次使用vim编辑该文件时,自然而然会再次创建副本,而这中途就会检测到之前异常退出而导致异常存在的副本文件,所以自然而然红框报错,提示。
下面演示一下


进入vim编辑文件,接着我关闭虚拟机

再次打开虚拟机、xshell重新编辑该文件
因为副本文件已存在所以报错
3.解决该问题
有同学会问啊,说undefineing叔叔啊,你说副本文件存在,可我根本没看到啊,是不是说着玩儿的啊?
这是因为该副本文件时隐藏文件,目的是为了目录看起来整齐,我们可以根据红框的提示,用cat查看它。

用rm -rf .passw.swp 删除掉它就好
当然也可以在红框提示下,根据它提供的选项选项处理副本文件

[O]pen Read-Only,
(E)dit anyway,
(R)ecover,
(D)elete it,
(Q)uit,
(A)bort:
本文介绍了Vim编辑文件时的工作机制,即先复制一份文件进行编辑,然后在正常保存时用副本替换原文件。如果在编辑过程中异常退出(如中途关机),可能导致副本文件未被覆盖,形成交换文件.swap。当再次尝试编辑时,Vim会检测到这个副本并给出错误提示。为了解决这个问题,可以使用`cat`查看交换文件,然后通过`rm -rf .passw.swp`删除它,或者根据Vim提供的选项进行处理。确保在编辑过程中正确保存或清理异常副本,以免影响文件管理。
354

被折叠的 条评论
为什么被折叠?



