vi有3种基本工作模式,分别是命令模式、文本输入模式和末行模式。
1.命令模式
该模式是进入vi后的默认模式。任何时候,不管用户处于何种模式,按Esc键即可进入命令模式。在该模式下,用户可以输入vi命令,此时从键盘上输入的任何字符都被当作编辑命令来解释。若输入的字符是合法的vi命令,则vi在接受用户命令之后会完成相应的动作。需要注意的是,所输入的命令并不会显示在屏幕上。若输入的字符不是vi命令,则vi会报错。
2.文本输入模式
在命令模式下输入命令i、附加命令a、打开命令o、修改命令c、取代命令r或替换命令s,都可以进入文本输入模式。在该模式下,用户输入的任何字符都会被vi当作文件内容显示在屏幕上。在文本输入过程中,若想回到命令模式下,则按Esc键即可。
3.末行模式
末行模式,也称为ex转义模式。在命令模式下,用户输入“:”即可进入末行模式,此时vi会在显示窗口的最后一行(通常也是屏幕的最后一行)显示一个“:”作为末行模式的说明符,并等待用户输入命令,在用户输入命令后按Enter键,会在执行完成后自动回到命令模式。大多数文件管理命令都是在此模式下执行的(如把编辑缓冲区的内容写到文件中等)。在末行命令执行完后,vi会自动回到命令模式。如果要从命令模式转换到文本输入模式,则可以键入“a”或者“i”。如果需要从文本输入模式返回,则按Esc键即可。在命令模式下,输入“:”即可切换到末行模式,然后输入命令。