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


    版权声明:本文为小小呆原创文章,转载请注明出处!     https://blog.csdn.net/gui951753/article/details/79140076    
                       
          
                   
      遇到这种错误代码的时候你肯定会看到下面这张图。这种情况多半发生在你上次编辑脚本或者其他文件,中途因为某些原因,强制杀死进程,或者强制退出导致的。
    对比windows系统下,我们编辑文件强制退出,我们也会遇到这样的提示,正常打开word时,如左图所示,当我们没有保存文档时,强制结束进程时,下次打开这个文档会出现右图所示的情景。也就是说,非正常打开会多出一个提示,告诉你是否要恢复你上次未保存的文件。

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

     我们copy /etc/passwd到app目录下,然后编辑这个文件,我们能看到右侧瞬间多出了一个以.swp为后缀的文件名。如下图所示。这就启发了我们,原来我们在编辑文件的时候,并不是对原有文件进行修改和覆盖的,而是新建一个副本,名字叫xx.swp,我们对文件的编辑都放在了这个副本里面,这也是为什么我们能进行撤销的原因,我们并没有对原有的文件进行修改。当我们正常退出时,这个文件就正常消失,而当我们异常退出时,这个文件就会作为隐藏文件,当我们下次启动vim时,它就会提示我们上次编辑时,有一个文件异常退出了,是否要进行恢复。也就是弹出E325错误。当我们异常退出时,这个隐藏文件会帮助我们还原到上次编辑的状态。也就相当于是一个自动保存的功能。
     
    解决办法:
      当我们知道了这个机制,我们就要考虑如何去解决这种问题。
    (1)还原到上次编辑的状态,然后再删除掉.swp文件,做法:vim -r  filename(你上次未保存的文件名),会出现以下界面
    左侧会出现一个Recovery completed,告诉你文件已经还原到了上次编辑的状态,而右侧会多出一个swo文件,这个文件类似于swp用来保存你修改文件的副本,而swp文件是我们用来还原的副本。当我们还原之后,可以使用rm -f xx.swp 删除掉这个副本。
    (2)当我们不需要还原的时候,只需要我们直接删除这个副本就可以了。利用rm命令直接删除这个副本。
     
               
                   
             
         
         
     
     
     
  • 相关阅读:
    图像分割学习笔记_1(opencv自带meanshift分割例子)
    基础学习笔记之opencv(10):Mat mask操作
    Qt学习之路_6(Qt局域网聊天软件)
    Qt学习之路_8(Qt中与文件目录相关操作)
    Android开发历程_6(RadioButton和CheckBox的使用)
    Qt学习之路_4(Qt UDP的初步使用)
    目标跟踪学习笔记_4(particle filter初探3)
    Reading papers_11(读Integrating local action elements for action analysis相关文章)
    基础学习笔记之opencv(8):Mat 基本图像容器
    基础学习笔记之opencv(14):随机数发生器&绘制文字
  • 原文地址:https://www.cnblogs.com/muhy/p/9953908.html
Copyright © 2020-2023  润新知