Linux 文件编辑的三种模式(新手必看)
1. linux 文件编辑
1.1 VI 和 VIM
①vi 编辑器是所有 Unix 及 Linux 系统下标准的编辑器
②相当于 windows 系统中的记事本一样
③vim 是 vi 的升级版,不仅兼容 vi 的所有指令,而且包含了一些新的特性,比如字体颜色。
1.2 VI 三种模式
vi 编辑器有 3 种基本工作模式,分别是:命令模式、文本输入模式、和末行模式。
(一)命令行模式:
该模式是进入 vi 编辑器后的默认模式。任何时候,不管用户处于何种模式,按下 ESC 键即可进入命令模式。在该模式下,用户可以输入 vi 命令,用户管理自己的文档。此时从键盘上输入的任何字符都被当作编辑命令来解释。若输入的字符是合法的 vi 命令,则 vi 在接受用户命令之后完成相应的动作。但需要注意的是,所输入的命令并不回显在屏幕上。若输入的字符不是 vi 命令,vi 会响铃报警。
(二)文本输入模式:
在命令模式下输入命令 i、附加命令 a、打开命令 o、修改命令 c、取代命令 r 或替换命令 s 都可以进入文本输入模式。在该模式下,用户输入的任何字符都被 vi 当作文件内容保护起来,并将其显示在屏幕上。在文本输入过程中,若想回到命令模式下,按 ESC 键即可。
(三) 末行模式:
末行模式也称 ex 转义模式。在命令模式下,用户按“:”键即可进入末行模式下,此时 vi 会在显示窗口的最后一行(通常也是屏幕的最后一行)显示一个“:”作为末行模式的说明符,等待用户输入命令。多数文件管理命令都是在此模式下执行的(如把编辑缓冲区的内容写到文件中等)。末行命令在执行完后,vi 自动回到命令模式。如果要从命令模式转换到编辑模式,可以键入 a 或者 i。如果需要从文本模式返回,则按 ESC 即可。在命令模式下输入“:”即可切换到末行模式,然后输入命令。
综上,一般我们使用命令打开文件的时候,是进入到命令模式。在命令模式下,可以切换到文本输入模式和末行模式,但是文本输入模式和末行模式之间是不可以直接相互切换了,因此文本输入模式切换到末行模式,需要先回到命令模式再切换,反之亦然。此外,编辑文本可以在文本输入模式下,键盘输入对文编进行编辑,或者在命令模式下使用 vi 命令也是可以起到编辑效果的。
实例演示:
首先我们使用命令 vi filename 打开一个文件,这个时候进入到的是命令模式;接下来我们按 i,然后键盘随便输入写内容。然后按 ESC 重新进入到命令模式。在命令模式的情况下,我们按:,进入到了末行模式。我们输入 wq!,然后回车,强行保存退出。
下次我们再打开对应文件(可用 less filename 命令打开),即可看到内容已经更改。
补充:
(1)末行模式下:q! 【强制退出不保存】 q【退出不保存】 wq【退出】并保存后面也可以
加个!
(2)如果你不想保存直接退出有可以在命令模式下使用“ctrl+z”快捷键或者按住“shift”键,输入两个 z 即可退出。
更多命令:
vi filename:打开或新建文件,并将光标置于第一行首 vi +n filename :打开文件,并将光标置于第 n 行首 vi + filename :打开文件,并将光标置于最后一行首 vi +/pattern
filename:打开文件,并将光标置于第一个与 pattern 匹配的串处 vi -r filename :在上次正用 vi 编辑时发生系统崩溃,恢复 filename vi filename….filename :打开多个文件,依次进行编辑