一、vi编辑器有3种基本工作模式
首先需要知道vi编辑器有3种基本工作模式,分别是:命令模式、文本输入模式、和末行模式。

首先我们使用命令 vi filename 打开一个文件,这个时候进入到的是命令模式
接下来我们按i,然后键盘随便输入写内容。
然后按ESC重新进入到命令模式。
在命令模式的情况下,我们按:,进入到了末行模式。
我们输入wq!,然后回车,强行保存退出。

补充:
(1)末行模式下:q! 【强制退出不保存】 q【退出不保存】 wq【退出并保存后面也可以加个!】
(2)如果你不想保存直接退出有可以在命令模式下使用“ctrl+z”快捷键或者按住“shift”键,输入两个z即可退出。
vim模式下报错E37: No write since last change (add ! to override)
故障现象:

使用vim修改文件报错,系统提示如下:

E37: No write since last change (add ! to override)

故障原因:

文件为只读文件,无法修改。

解决办法:

使用命令: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来解决权限不足问题

为什么linux执行sudo命令无法输入密码
输入密码并不会显示,你输入完成有回车才有反应