当我们在使用vim编辑时,vim会在与被编辑的文件的目录下,再建立一个.filename.swp
的文件。
接下来我在/tmp/vitest目录下创建一个aa.txt文件来测试
我们在vim编辑文件中,那么在当前窗口我们是无法看到当前目录有哪些文件? 我们可以在开启一个窗口来查看
这个暂存档 .filename.swp文件是一个 隐藏的临时文件。当使用vim对aa.txt进行编辑时,vim会主动的建立.aa.txt.swp暂存档,你对aa.txt所做的动作就会被记录到这。
我们可以看一下这个.aa.txt.swp都是什么内容:
正常情况下如果用户退出对该文件的编辑(当前不存在任何用户对该文件进行编辑),那么这个.filename.swp暂存档则会被自动删除。
例如我们在窗口1中退出对aa.txt文件的编辑
这时我们再看一下当前目录是否还存在.aa.txt.swp这个暂存档文件?
那么什么是非正常情况呢?
如果你的系统因为某些原因断线了,导致你编辑的文件还没有存储,那么这时候.filename.swp暂存档是不会消失的。我们可以来测试一下 :
首先对aa.txt进入编辑模式
然后 模拟vim进程 异常断线
这时候我们再次编辑aa.txt这个文件,会出现什么情况呢?
会出现上图所示的提示信息。
由于暂存盘存在的关系,因此vim会主动的判断你的这个文件可能有些问题,在上图的图示中vim提示两点主要的问题与解决方案,分别是这样的:
问题一:可能有其他人或者程序同时在编辑这个文件:
由于linux是多人多任务的环境,因此很可能有很多人同时在编辑同一个文件。如果在多人共同编辑的情况下,万一大家同时储存 ,那么这个文件的内容将会变得乱七八糟。为了避免这个问题,因此vim会出现这个警告窗口,解决方案如下:
找到另外那个程序或者人员,请他将该vim的工作结束,然后你再继续处理
如果你只是要看该文件的内容并不会有任何修改编辑的行为,那么可以选择开启成为只读(O)文件,也就是上面输入英文字母O
即可,其实就是Open Read-Only
问题二:在前一个vim的环境中,可能因为某些不知名原因导致vim中断(crashed):
这就是常见的不正常结束vim产生的结果,解决方案依据不同的情况而不同。常见的处理方法为:
如果你之前的vim处理动作尚未储存,此时你应该按下R
,也就是使用Recover的项目,此时vim会载入aa.txt.swp的内容,让你自己来决定要不要存储。这样就能够救回来你之前为储存的工作。不过那个aa.txt.swp并不会在你结束后自动删除,所以你离开后还在自行删除,才能避免每次打开这个文件。会出现这样的警告。
如果你确定这个暂存档(aa.txt.swp)是没有用的。那你可以直接按下D
删除掉这个暂存档。也就是delete it这个项目即可。此时会载入aa.txt,并且将旧的aa.txt.swp删除后建立这次会使用的新的aa.txt.swp。
至于这个发现暂存盘警告讯息的画面中,有出现六个可用的按钮,各按钮的说明如下:
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://blog.csdn.net/qq_45464560/article/details/125179085
内容来源于网络,如有侵权,请联系作者删除!