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

旧城冷巷雨未停 提交于 2019-12-02 06:53:33

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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!