vim编辑时遇到E325: ATTENTION Found a swap file by the name “./.backu.sh.swp”错误代码的解决办法「建议收藏」

vim编辑时遇到E325: ATTENTION Found a swap file by the name “./.backu.sh.swp”错误代码的解决办法「建议收藏」遇到这种错误代码的时候你肯定会看到下面这张图。这种情况多半发生在你上次编辑脚本或者其他文件,中途因为某些原因,强制杀死进程,或者强制退出导致的。对比windows系统下,我们编辑文件强制退出,我们也会遇到这样的提示,正常打开word时,如左图所示,当我们没有保存文档时,强制结束进程时,下次打开这个文档会出现右图所示的情景。也就是说,非正常打开会多出一个提示,告诉你是否要恢复你上次未保存的文件。

大家好,又见面了,我是你们的朋友全栈君。

  遇到这种错误代码的时候你肯定会看到下面这张图。这种情况多半发生在你上次编辑脚本或者其他文件,中途因为某些原因,强制杀死进程,或者强制退出导致的。vim编辑时遇到E325: ATTENTION Found a swap file by the name "./.backu.sh.swp"错误代码的解决办法「建议收藏」

对比windows系统下,我们编辑文件强制退出,我们也会遇到这样的提示,正常打开word时,如左图所示,当我们没有保存文档时,强制结束进程时,下次打开这个文档会出现右图所示的情景。也就是说,非正常打开会多出一个提示,告诉你是否要恢复你上次未保存的文件。

vim编辑时遇到E325: ATTENTION Found a swap file by the name "./.backu.sh.swp"错误代码的解决办法「建议收藏」
vim编辑时遇到E325: ATTENTION Found a swap file by the name "./.backu.sh.swp"错误代码的解决办法「建议收藏」
       类比windows的这种机制,我们大概也能猜想得到,Linux使用vim出现编辑异常的时候,肯定也是基于同样的机制。下面我们来详细解释下linux出现这种状况的原因。

问题原因:

 我们通过错误E325的提示可以知道,出现这种情况的原因有两种,其一,是当前有其他的进程正在对相同的文档进行编辑;其二,之前的编辑会话被销毁了(crashed)(也就是说,你上次编辑的时候,没有保存就强制离开了。)。
 下面我们来探讨下产生这种问题的根本原因,也就是vim编写文件的真实机制。我们同时开两个窗口,右测窗口使用,watch -n 1 ls -a 命令,表示,每间隔1秒刷新一下ls命令的执行结果。


vim编辑时遇到E325: ATTENTION Found a swap file by the name "./.backu.sh.swp"错误代码的解决办法「建议收藏」

 我们copy /etc/passwd到app目录下,然后编辑这个文件,我们能看到右侧瞬间多出了一个以.swp为后缀的文件名。如下图所示。这就启发了我们,原来我们在编辑文件的时候,并不是对原有文件进行修改和覆盖的,而是新建一个副本,名字叫xx.swp,我们对文件的编辑都放在了这个副本里面,这也是为什么我们能进行撤销的原因,我们并没有对原有的文件进行修改。当我们正常退出时,这个文件就正常消失,而当我们异常退出时,这个文件就会作为隐藏文件,当我们下次启动vim时,它就会提示我们上次编辑时,有一个文件异常退出了,是否要进行恢复。也就是弹出E325错误。当我们异常退出时,这个隐藏文件会帮助我们还原到上次编辑的状态。也就相当于是一个自动保存的功能。


vim编辑时遇到E325: ATTENTION Found a swap file by the name "./.backu.sh.swp"错误代码的解决办法「建议收藏」

解决办法: 

  当我们知道了这个机制,我们就要考虑如何去解决这种问题。

(1)还原到上次编辑的状态,然后再删除掉.swp文件,做法:vim -r  filename(你上次未保存的文件名),会出现以下界面

左侧会出现一个Recovery completed,告诉你文件已经还原到了上次编辑的状态,而右侧会多出一个swo文件,这个文件类似于swp用来保存你修改文件的副本,而swp文件是我们用来还原的副本。当我们还原之后,可以使用rm -f xx.swp 删除掉这个副本。

(2)当我们不需要还原的时候,只需要我们直接删除这个副本就可以了。利用rm命令直接删除这个副本。

vim编辑时遇到E325: ATTENTION Found a swap file by the name "./.backu.sh.swp"错误代码的解决办法「建议收藏」

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/144180.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长

相关推荐

  • 数据归一化及三种方法(python)

    数据归一化及三种方法(python)数据标准化(归一化)处理是数据挖掘的一项基础工作,不同评价指标往往具有不同的量纲和量纲单位,这样的情况会影响到数据分析的结果,为了消除指标之间的量纲影响,需要进行数据标准化处理,以解决数据指标之间的可比性。原始数据经过数据标准化处理后,各指标处于同一数量级,适合进行综合对比评价。以下是三种常用的归一化方法:min-max标准化(Min-MaxNormalization)也称为离差标准化,…

    2022年6月23日
  • cuda包卸载_之前安装过cuda卸载不彻底

    cuda包卸载_之前安装过cuda卸载不彻底不小心把/usr/local/cuda删除了,卸载cuda后安装cuda后/usr/local下没有cuda文件夹.运行:sudoapt-getautoremove–purgecuda

    2022年8月6日
  • databus 支持oracle么,Databus[通俗易懂]

    databus 支持oracle么,Databus[通俗易懂]系统如果要应付大规模的请求,一条必经之路就是数据库的分割,单服务器的性能早晚都会成为负载的短板。而数据库分割,通常有Master/Salve或者集群Cluster的方式,这些方式通常都是基于同种类型的数据。对于一个庞大的多类型数据库的系统,在不同的数据库之间(甚至是不同地理位置的机房间)保持数据的同步,需要更复杂的解决方案。LinkedIn良心开源了内部的一个项目Databus,正是解决这个问题的…

    2022年10月17日
  • Redis客户端中文乱码[通俗易懂]

    Redis客户端中文乱码[通俗易懂]Redis客户端中文乱码$redis-cliredis127.0.0.1:6379>set’name”中文’OKredis127.0.0.1:6379>get’name’"\xd6\xd0\xce\xc4"redis127.0.0.1:6379>客户端查看乱码,这个情况我们只要将修改客户端命令行就可以。redis-cli –raw$r…

    2022年5月7日
  • IT速查手册[通俗易懂]

    IT速查手册[通俗易懂]发现一个很好的点评公司网站,很有创意。里面大部分的评论都来自公司内部的员工。  想找IT工作的,可以先到那里了解公司的待遇、环境、内部等问题。  公司点评网:

    2022年7月1日
  • java重构方式

    java重构方式这里只是简单例子,以动物方式,如何实现重构1、入口publicclassTestMain{@AutowiredprivateAnimalanimal;@Testpublicvo

    2022年7月2日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号