Linux:vim编辑时遇到E325: ATTENTION Found 错误代码的解决办法

1、遇到的情况

遇到这种错误代码的时候你肯定会看到上面这张图。这种情况多半发生在你上次编辑脚本或者其他文件,中途因为某些原因,强制杀死进程,或者强制退出导致的。

2、问题分析

对比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错误。当我们异常退出时,这个隐藏文件会帮助我们还原到上次编辑的状态。也就相当于是一个自动保存的功能。

3、解决办法:

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

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

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

Linux:vim编辑时遇到E325: ATTENTION Found 错误代码的解决办法相关推荐

  1. 【Linux】vim编辑时报错E325: ATTENTION

    错误说明 是非正常退出了vim,导致的错误 错误展示 E325: ATTENTION Found a swap file by the name "~/.local/share/nvim/s ...

  2. vi编辑时出现E325:ATTENTION(简单易懂,快速解决问题)

    当出现这个问题时,是因为由于在编辑该文件的时候异常退出了,因为vim在编辑文件时会创建一个交换文件swap file以保证文件的安全性.要想解决这个问题, 1.找到开头前两行 示例如下: E325: ...

  3. 成功解决vi编辑时出现E325:ATTENTION的问题

      最近,在用Linux里的vi编辑文件时出了点差错,然后就直接关掉了Terminal命令行,然后我想要重新编辑时,出现了E325:ATTENTION的报错,为了防止自己忘记解决方法,故出了本文. 原 ...

  4. 简单快速解决vi编辑时出现E325:ATTENTION的问题

    学习的过程中不小心关闭了Linux终端命令框,然后vi 该demo就出现了ATTENTION...出现这个问题的原因就是我在编辑文件时没有正常退出,在编辑文件时为了保证文件的安全性,会先创建一个swa ...

  5. 使用vi/vim编辑时按ctrl-s后客户端假死解决方法

    使用vi/vim时,如果你不小心按了 Ctrl + s后,你会发现不能输入任何东西了,像死掉了一般,其实vi/vim并没有死掉,这时vi/vim只是停止向终端输出而已,要想退出这种状态,只需按Ctrl ...

  6. vim退出时提示:q:未找到命令的解决办法

    有一天,我在WSL上快乐的用vim编游戏,可就在我输入:!q时,bash提醒我,q:未找到命令:平常程序都在WSL上,cat不自动在行尾加换行违反了我的强迫症,然后我就开始修理vim了....... ...

  7. linux出现e325错误,用Vim编辑文件时出现E325: ATTENTION错误的解决方法

    用Vim编辑文件时出现E325: ATTENTION错误的解决方法 当用Vim编辑一个文件时出现下列错误 [root@zabbix ~]# vim /usr/local/msmtp/etc/msmtp ...

  8. linux下vi与vim区别以及vim的使用-------vim编辑时脚本高光显示语法

    vi与vim vi编辑器是所有Unix及Linux系统下标准的编辑器,他就相当于windows系统中的记事本一样,它的强大不逊色于任何最新的文本编辑器.他是我们使用Linux系统不能缺少的工具.由于对 ...

  9. linux telnet 127.0.0.1 不通,Linux 出现telnet: 127.0.0.1: Connection refused错误解决办法

    Linux 出现telnet: 127.0.0.1: Connection refused错误解决办法 Linux 出现telnet: connect to address 127.0.0.1: Co ...

最新文章

  1. 腾讯竟然是这样招人的,哈哈哈哈哈
  2. c#关于JWT跨域身份验证解决方案
  3. 线程堆栈大小 pthread_attr_setstacksize 的使用
  4. Ubuntu 16.04 LTS, 64bit,cuda 8, Caffe环境配置编译和安装
  5. 从无到有算法养成篇-利⽤栈思想解决问题
  6. 在多线程中使用UDP
  7. 第三届“空间信息网络”学术论坛诚邀您的参加
  8. Reverse for '**' with arguments '('',)' not found. 1 pattern(s) tried(topic_id与topic.id)
  9. Channel shutdown: channel error; protocol method: #method<channel.close>(reply-code=406, reply-text=
  10. webstore 与 热编译的配置冲突
  11. ajax(3)---Conmon.js
  12. 安卓接入高德地图3dmap黑屏问题解决
  13. 一个非常好用的代理服务器软件AllegroSurf
  14. C语言课设——电影院选票系统
  15. 腾讯云折(tian)腾(keng)记
  16. 更新日志 - fir.im Jenkins Gradle 插件上线
  17. Android热修复——深入剖析AndFix热修复及自己动手实现
  18. TCP MSS PMTU PING
  19. Spring Boot+JOOQ(一)基本环境搭建
  20. win10如何修改hosts文件?

热门文章

  1. 【java基础】-谈谈对面向对象理解
  2. STM32的SPI模式读写FLASH芯片全面讲解
  3. PHP socket编程示例
  4. Ubuntu18.04安装nginx
  5. 对以下6种常用的内部排序算法进行比较:起泡排序、直接插入排序、简单选择排序、快速排序、希尔排序、堆排序。
  6. 浅析民营企业发展中存在的问题及对策
  7. reference path
  8. 直通车有哪些作用?拼多多新手可以开直通车不?
  9. Linux:笔记本双硬盘、双系统
  10. EasyExcel简单操作