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然后回车后就可以进行代码的修改和保存了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/272138.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux中Shell中取消变量和特殊变量的笔记

1、取消变量取消变量也就是将变量从内存中释放出去,可以使用unset 后面加变量名即可,当然函数的释放同样可以采用该方式处理。比如:name"123"echo ${name}输出:123unset nameecho ${name}输出:#取消函数示例…

光华科技光刻胶_【收藏】6天5板!21只光刻胶概念(名单)“出炉”!

连板数量21家中迪投资5板,宁波联合 神驰机电 神马电力4板,汉缆股份 华盛昌 浙江鼎力3板,海航投资世联行 飞龙股份 安洁科技 京威股份 三丰智能 容大感光 晶瑞股份 奥飞数据 光大嘉宝 电子城博天环境 兆易创新 聚辰股份2板二、科技股&#xff…

20159302 《网络攻击与防范》第四周学习总结

本节学习内容为网络攻击环境的配置。在此过程中,我们至少需要一台靶机,一台攻击机。在此选用windows server 2000为靶机,kali系统为攻击机。 一、系统的安装 根据之前发布的kali系统的安装过程,依据此流程进行windows server的安装…

智能家居项目开发准备工作

智能家居功能细节拆分: 控制端支持语音设备的输入(用到之前所学习的LD3320语音识别模块)或者是socket客户端(这个客户端可以是ftp项目的客户端也可以是Android的app),主控芯片是树莓派,既接收语…

catia曲面扫掠命令详解_Mastercam快捷键命令,附中英文功能讲解!值得收藏!

组合键式快捷键功能快 捷 键功能Alt 0设置Z向控制深度Alt 1设置绘制图形的颜色Alt 2设置当前层Alt 3与Alt 2功能相同Alt 4设置刀具面(Tplane)Alt 5设置绘图面(Cplane)Alt 6设置视图面(Gview)Alt A进入自动存文件对话框快 捷 键功能Alt B工具条的显示/关闭Alt C选择执…

RocketMQ中主从复制

生产者把消息发送到master,不会发送到slave 消费者可以从maste也可以从slave消费消息 如果master挂了,那就从slave消费数据,那么slave怎么拿到master中的数据 这就要用到主从复制

智能家居代码构建编写、简单工厂模式、树莓派摄像头视频监控功能实现

根据上一节内容的代码框架开始编写代码: 首先编写controlDevices.h这个头文件里面的代码,这个是设备工厂每一个结点的结构体类型,而且还要在这个头文件里面进行函数的声明,也就是创建的那些设备.c文件里面的函数(为了…

Linux中Shell的命令替换用法笔记

命令替换主要是指将命令的标准输出值赋值给某个变量。命令替换属于Shell编程中非常重要的功能,需要熟悉掌握。 命令替换的方式 1、反引号:命令 2、$():$(命令) 用法说明:date1date #将date命令值给date1变量 date2$(date) #将date命令值给dat…

采样次数不同平均值不一样_网络推广采取的方式不同,效果也不一样

网络推广是基于互联网而进行,针对目标客户群体,加之以有效的网络链接形式使其形成迅速大的购买力的一种营销模式,是目前很多企业已经认识到的,但是在推广过程之中往往会出现不同的状况,比如说模式是完全不一样的。 …

rocketmq 同步刷盘和异步刷盘以及主从复制之同步复制和异步复制你理解了吗

同步刷盘、异步刷盘 RocketMQ的消息是存储到磁盘上的,这样既能保证断电后恢复,又可以让存储的消息量超出内存的限制。 RocketMQ为了提高性能,会尽可能地保证磁盘的顺序写。消息在通过Producer写入RocketMQ的时候,有两种 写磁盘方…

七层网络模型、TCP/IP四层模型、网络数据包、交换机路由器区别

七层网络模型(简称OSI模型): OSI 模型(Open System Interconnection model)是一个由国际标准化组织提出的概念模型,试图供一个使各种不同的计算机和网络在世界范围内实现互联的标准框架。它将计算机网络体系结构划分为七层,每层都可以提供抽…

Linux中Shell的算数运算符和位运算符用法笔记

1、算数运算符 算数运算符主要是加、减、乘、除、余、幂等常见的算术运算,以及加等、减等、乘等、除等、余等复合算术运算。 注意:Shell只支持整数运算,小数部分会舍去。一般情况下算术运行需要个let命令一起来使用。注意除法运算&#xff0c…

TCP三次握手、四次挥手、socket,tcp,http三者之间的区别和原理

接着上一篇文章叙述: TCP/IP连接(在互联网的通信中,永远是客户端主动连接到服务端): 手机能够使用联网功能是因为手机底层实现了TCP/IP协议,可以使手机终端通过无线网络建立TCP连接。TCP协议可以对上层网络提供接口,使…

NSUserDefaults的用法

NSUserDefaults适合存储轻量级的本地数据,比如要保存一个登陆界面的数据,用户名、密码之类的,个人觉得使用NSUserDefaults是首选。下次再登陆的时候就可以直接从NSUserDefaults里面读取上次登陆的信息咯。 因为如果使用自己建立的plist文件什…

apache 配置文件内使用 8080 端口_【SpringBoot 框架】- SpringBoot 配置文件

一、SpringBoot配置文件类型SpringBoot是基于约定的,所以很多配置都有默认值,但如果想使用自己的配置替换默认配置的话 ,就可以自己编写配置文件进行相应配置,起步依赖spring-boot-starter-parent 中,有配置文件的引入…

Linux中while循环的用法笔记

Shell中可以采用while循环来实现需要进行循环的操作。 语法结构如下: while exp do command done 执行过程:while将测试exp的返回值,如果返回值为true则执行循环体的命令,返回值为false则不执行循环。循环完成后会进入下一次循环之…