vim编辑器未正常关闭时解决方案

问题描述

  • 在mac上的/etc目录下修改hosts文件时,进入vim编辑器时未正常关闭,导致在/etc下产生.hosts.swp文件,并且在/var/tmp下产生host.swo、host.swn等文件。因此在对/etc/hosts进行编辑时会报类似的提示:

    Swap file ".hosts.swp" already exists!
    [O]pen Read-Only, (E)dit anyway, (R)ecover, (Q)uit, (A)bort:

    选择任意选项后正常退出后,下次进入依次会报这些提示。

.swp、.swo文件产生原因

  • 在vim编辑器的模式下,打开某个文件例如/etc/hosts,vim会自动产生一个类似于.hosts.swp文件以备不测。正常退出的话,该文件(.swp)会自动删除。
  • 如果在.hosts.swp已经存在的情况下,即在A窗口打开该hosts文件后,使用B窗口同时打开该hosts文件,则会产生.swp文件,在使用C窗口打开该文件,产生.swo文件。字母排序逆时针倒序排列。

解决方案

  • 可以使用如下命令恢复文件

    #切换到/etc目录下
    cd /etc
    #使用 vim -r 文件名 恢复该文件
    vim -r hosts
    #恢复后如果确定该文件已经修改好,并且用不到.swp文件来恢复主文件的话,对.swp文件进行删除
    #之后输入密码即可删除 不加sudo可能会报“Permission denied” 权限不够的异常。
    sudo rm -rf .hosts.swp
    #之后的.swo、.swn等文件在/var/tmp下,切换到该目录,全部删除即可。
    cd /var/tmp
    sudo rm -f host.*
  • 执行操作后,再次进入编辑hosts文件时,就没有那些烦人的提示信息了。

后记

hosts文件

  • Hosts是一个没有扩展名的系统文件,可以用记事本等工具打开,其作用就是将一些常用的网址域名与其对应的IP地址建立一个关联“数据库”,负责将主机名映射到相应的IP地址。

  • 当用户在浏览器中输入可登录的网址时,系统首先从Hosts文件中寻找对应的IP地址,

    • 找到,系统会立即打开对应网页。
    • 没有找到,则系统再会将网址提交DNS域名解析服务器进行IP地址的解析。
  • 路径

    • windows系统

      C:\Windows\System32\drivers\etc
    • mac和linux系统

      /etc/hosts

sudo命令小记

  • sudo命令用来以其他身份来执行命令,其中默认的身份为root。

  • /etc/sudoers中设置了可执行sudo指令的用户。用户使用sudo时,必须先输入密码,之后有5分钟的有效期限,超过期限则必须重新输入密码。详情可看这里

  • 切换到/etc下可以查看文件

    cd /etc
    sudo cat sudoers

原创不易,欢迎转载,转载时请注明出处,谢谢!

作者:潇~萧下

原文链接:https://www.cnblogs.com/manongxiao/p/11735253.html

vim编辑器未正常关闭时解决方案的更多相关文章

  1. ant design Modal关闭时清除数据的解决方案

    背景:modal组件关闭时不清除数据,原来输入的数据还存在 解决方案: 1.modal的api:destroyOnClose 2.手动控制modal的销毁 this.state = { destroy ...

  2. Ubuntu使用vim编辑器时出现上下左右键变成ABCD

    今天在配置安装php时,要打开配置文件做些修改,肯定是要使用到vim编辑器的,我按照之前的使用命令之类的,在用到上下左右键时居然出现了ABCD,这我就纳闷了,难道Ubuntu的vim编辑器和别的不一样 ...

  3. vim 编辑器的设置

    vi编辑器的配置:http://blog.mcuol.com/User/fenghua/Article/17411_1.htm ******************************vim ~/ ...

  4. 【Linux 操作系统】vim编辑器配置及常用命令

    最近工作不安分, 没有了刚入行时候的锐气, 不知道什么时候开始懈怠起来, 周末在电脑旁边看新闻, 搞笑图片, 追美剧, 一坐就是一天, 很是空虚. 我需要摆脱这种状态, 正好想学习一下安卓底层, An ...

  5. 定制你自己的vim编辑器

    今天定制了一下自己的vim编辑器,效果嘛,谁用谁知道!话不多说,直奔主题.vim编辑器的配置都在/etc/vimrc文件中. #vim /etc/vimrc 打开配置文件,在尾部添加如下的,不是全都必 ...

  6. Linux上vim编辑器缩进的设置(方便如书写python代码)

    因为刚刚安装了Ubuntu虚拟机,知乎大神推荐用VIM编辑器,然后发现在Python缩进上不方便,查了点资料,整理出来,以便自己以后忘了还可以再看看. 第一步: 打开终端,在终端上输入 vim ~/. ...

  7. 安卓程序代写 网上程序代写[原]vim编辑器配置及常用命令

    最近工作不安分, 没有了刚入行时候的锐气, 不知道什么时候开始懈怠起来, 周末在电脑旁边看新闻, 搞笑图片, 追美剧, 一坐就是一天, 很是空虚. 我需要摆脱这种状态, 正好想学习一下安卓底层, An ...

  8. centos vim编辑器 第八节课

    centos  vim编辑器  第八节课 其他编辑器: nanogeditemacs 腾讯云上的vim版本~ VIM - Vi IMproved ~ ~ version 7.4.629 ~ by Br ...

  9. Vim编辑器基本操作学习(一)

      最近在服务端编辑文件总不可避免要使用vim编辑器,下面就对学习到的常用命令进行总结,以便自己以后查看.   基本编辑命令   删除字符:x 删除一行:dd 删除换行符:J,同时将两行合并成一行 撤 ...

随机推荐

  1. 小白学习VUE第二课:环境搭建 VUE Node.js VSCode template模板

    环境搭建 VUE Node.js VSCode template模板: 首先安装node:http://www.runoob.com/nodejs/nodejs-install-setup.html ...

  2. WeChall_Training: PHP LFI (Exploit, PHP, Training)

    Your mission is to exploit this code, which has obviously an LFI vulnerability: GeSHi`ed PHP code 1 ...

  3. mqttnet3.0用法

    .net常用的mqtt类库有2个,m2mqtt和mqttnet两个类库 当然了,这两个库的教程网上一搜一大把 但mqttnet搜到的教程全是2.7及以下版本的,但3.0版语法却不再兼容,升级版本会导致 ...

  4. 解决关闭SSH进程CobaltStrike自动关闭

    解决关闭SSH进程CobaltStrike自动关闭 0x0 那么为什么ssh一关闭,程序就不再运行了? 答:元凶:SIGHUP 信号 让我们来看看为什么关掉窗口/断开连接会使得正在运行的程序死掉. 在 ...

  5. ES6学习笔记(一):轻松搞懂面向对象编程、类和对象

    目录 面向过程编程P OP(Process oriented programming) 面向对象编程OOP(Object Oriented Programming) 总结 @ 面向过程编程P OP(P ...

  6. [算法] Dijkstra算法(带权有向图 最短路径算法)

    一.带权有向图 二.算法原理 1)由于我们的节点是从1-6,所以我们创建的列表或数组都是n+1的长度,index=0的部分不使用,循环范围为1-6(方便计算). 2)循环之前,我们先初始化dis数组和 ...

  7. HttpContext.Current.Server未将对象引用到实例

    问题描述: 在一些类库中需要读取当前系统的xml文件,当时用HttpContext.Current无法找到实例化对象 解决代码如下: XmlDocument xml = new XmlDocument ...

  8. 范式通俗理解:1NF、2NF、3NF和BNCF

    https://blog.csdn.net/wyh7280/article/details/83350722 范式通俗理解:1NF.2NF.3NF和BNCF原创hongiii 最后发布于2018-10 ...

  9. Lucene之索引库的维护:添加,删除,修改

    索引添加 Field域属性分类 添加文档的时候,我们文档当中包含多个域,那么域的类型是我们自定义的,上个案例使用的TextField域,那么这个域他会自动分词,然后存储 我们要根据数据类型和数据的用途 ...

  10. CF547E Mike and Friends [AC自动机,离线树状数组]

    #include <cstdio> #include <queue> #include <vector> #define pb emplace_back using ...