1、基本上 vi 共分为三种模式,分别是“一般指令模式”、“编辑模式”与“命令行命令模式”。 这三种
模式的作用分别是:
1.1、一般指令模式 (command mode)
以 vi 打开一个文件就直接进入一般指令模式了(这是默认的模式,也简称为一般模式) 。在
这个模式中, 你可以使用“上下左右”按键来移动光标
1.2、编辑模式 (insert mode)
在一般指令模式中无法编辑文件内容的! 要等到你按下“i, I”等某个字母之后才会进入编辑模式。注意了!通常在Linux 中,按下这些按键时,在画面的左下方会出现“ INSERT 或 REPLACE ”的字样,此时才可以进行编辑。而如果要回到一般指令模式时, 则必须要按下“Esc”这个按键即可退出编辑模式。
1.3、命令行命令模式 (command-line mode)
在一般模式当中,输入“ : / ? ”三个中的任何一个按钮,就可以将光标移动到最下面那一列。在
这个模式当中, 可以提供你“搜寻数据”的动作,而读取、存盘、大量取代字符、离开 vi 、显
示行号等等的动作则是在此模式中达成的!
使用图来表示就是:
1.4、使用“ vi filename ”进入一般指令模式
2、常用命令:
2.1、/word:
向光标之下寻找一个名称为 word 的字串。例如要在文件内搜寻 vbird 这个字串,就输入/vbird 即可!
2.2、?word
向光标之上寻找一个字串名称为 word 的字串。
2.3、u
复原前一个动作。
2.4、存储退出
:w 将编辑的数据写入硬盘文件中(常用)
:w! 若文件属性为“只读”时,强制写入该文件。不过,到底能不能写入, 还是跟你对该文件的文件权限有关!
:q 离开 vi
:q! 若曾修改过文件,又不想储存,使用 ! 为强制离开不储存盘案。
:wq 储存后离开,若为 :wq! 则为强制储存后离开
:w [filename] 将编辑的数据储存成另一个文件(类似另存新文件)
:r [filename] 在编辑的数据中,读入另一个文件的数据。亦即将“filename” 这个文件内容加到光标所在列后面
:set nu 显示行号,设置之后,会在每一列的字首显示该列的行号
:set nonu 与 set nu 相反,为取消行号!