基本上vi可以分为三种状态,分别是命令模式(commandmode)、插入模式(insert mode)和底行模式(last line mode),各模式的功能为:
命令模式:控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入insert mode下,或者到last line mode.
插入模式:只有在insert mode下,才可以做文字输入,按”Esc”键可回到命令行模式。
底行模式:将文件保持或退出vi,也可以设置编辑环境,如寻找字符串、列出行号…等。
打开Terminal,指定到某个目录下,输入vi testVi,即要用vi打开的文件名为testVi,若在此目录下没有此文件,则将会自动创建一个空的testVi文件,此时将进入vi全屏幕编辑画面(注:每行前显示波浪符号的表示该行为空行)。刚进入vi之后,是处于“命令模式”,要切换到“插入模式”才能够输入文字。
由命令模式进入到插入模式编辑文件:在“命令模式”下按一下小写字母”i”、”a”、”o”均可以进入“插入模式”,这时候就可以开始输入文字了。
由插入模式或底行模式进入到命令模式:按”Esc”键。
由命令模式进入到底行模式:按”:”键。
由底行模式进入到插入模式:按一下小写字母”i”、”a”、”o”均可以进入“插入模式”。
退出vi及保存文件:在底行模式下,输入:
(1)、w testVi1 (将testVi修改后的文件保存为testVi1,此时testVi中的内容仍为原始内容,testVi没有作任何修改);
(2)、wq (保存修改后的testVi文件并退出vi);
(3)、q!(或q) (不保存修改后的testVi文件退出vi,此时testVi文件的内容仍为打开前的原始文件)。
由命令模式进入插入模式时:
(1)、按”i”键,是从光标当前位置开始输入文字;
(2)、按”a”键,是从目前光标所在位置的下一个位置开始输入文字;
(3)、按”o”键,在目前光标的下一行插入新的一行,从行首开始输入文字。
命令模式下移动光标:
(1)、用小写字母”k”、 ”j”、”h”、”l”分别控制光标移动到光标上一行、移动到光标下一行、移动到光标左边一个文字、移动到光标右边一个文字;
(2)、”Ctrl+b”、”Ctrl+f”分别为显示上一页内容、下一页内容;
(3)、”Ctrl+u”、”Ctrl+d”分别为显示上半页内容、下半页内容;
(4)、按数字0(或”^”)、”$”,分别移动到光标所在行的行首、行尾;
(5)、按”$”,移动到光标所在行的行尾;
(6)、按大写字母”G”,移动到文件的末尾;若先按一个”数字”,再按大写字母”G”,表示光标移动到第”数字”行首;
(7)、按”w”、”e”,光标跳到下个字(单词)的字头、下个字(单词)的字尾;
(8)、按”b”,光标跳到上个字(单词)的字头;
(9)、按”#”,向上搜索当前光标指向的字。
命令模式下删除文字:
(1)、每按一次小写字母”x”,删除光标所在位置的后面一个字符;
(2)、每按一次大写字母”X”,删除光标所在位置的前面一个字符;
(3)、连续按两次小写字母”d”,删除光标所在行。
命令模式下复制:
(1)、按小写字母”yw”,将光标所在之处到字尾的字符复制到缓冲区中;
(2)、按小写字母”p”,将缓冲区内的字符粘贴到光标所在位置。
命令模式下恢复上一次操作:如果你执行了一个错误的操作,可以按小写字母”u”恢复到上一次操作。
命令模式下跳至指定的行:
(1)、按”Ctrl + g”,在当前页的最后一行显示出光标所在行的行号;
(2)、按”某个数字 + G”,表示移动光标至文件的第”某个数字”行行首。
底行模式下列出行号:输入”set nu”,回车后,会在文件中的每一行前面列出行号。
底行模式下跳到文件中指定的行:在冒号(:)后输入一个数字,再按回车键就会跳到该行了。
底行模式下查找字符:
(1)、先按”/”键,再输入想寻找的字符,如果第一次找的关键字不是你想要的,可以一直按小写字母”n”键会往后(按大写字母”N”键会往前)寻找到你要的关键字为止;