vim模式下报错E37: No write since last change No write since last change for buffer “ “

报错如下图所示:
在这里插入图片描述
网上的解决方法:

  • 文件为只读文件,无法修改。
  • 使用命令:w!强制存盘即可
  • 在vim模式下,键入以下命令::w!
  • 存盘后在使用vim命令检查是否保存,如未保存,编辑后重复以上操作。
  • 或者报出linux中vi保存文件时的
    “Can’t open file for writing”
    E212: Can’t open file for writing
    Press ENTER or type command to continue
  • 出现这个错误的原因可能有两个:一是当前用户的权限不足,二是此文件可能正被其他程序或用户使用。这里的错误原因是前者,解决方案是在使用vi命令打开文件时,前面加上sudo来临时提供管理员权限,即使用命令“sudo vi grub.cfg”打开编辑文件。由此看来,sudo命令是很有用的,当我们执行某种操作系统提示诸如“operation not permitted”等权限不足信息时,我们很多时候都可以在命令前面加上sudo来解决权限不足问题

但是使用以上方法没有解决我的问题(以下是我的解决方案):

  • 首先使用指令:df -h查看,内存占用情况,不是内存的问题。
    在这里插入图片描述
  • 第二查看是否是终端窗口是否是不是开了不止一个,通过检查不是窗口的问题。
  • 然后ls -al查看文件权限,并不是文件权限的问题。
    在这里插入图片描述
  • 最后,我看到了编码格式dos (windows的编码格式,因为文件是从windows拷贝过来的),而linux在默认情况下是utf-8 的编码格式,所以可能是编码的问题,然后再vim里面输入::set fileencoding=utf-8然后回车后就可以进行代码的修改和保存了。
  • 8
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值