vi命令是字符终端下的一个文本编辑命令。对文件进行少量修改时使用vi命令很方便,特别是在使用远程登入Linux时。
vi可以执行输出、删除、查找、替换、块操作等众多文本操作,它没有菜单,只有命令,且命令繁多。
在控制台中输入“vi”或者 “vi filename”就恶意启动vi,后者将打开或新建文件。它有三种基本工作模式:命令行模式、文本输入模式和末行模式。
1.命令模式
vi一旦被启动,它就处于命令行模式下;另外,在任何时候、任何模式下,只要按“ESC”键,即可进入命令行模式。在命令行模式下,可以直接使用某些按键完成相应操作。常用命令如下:
a. 光标移动命令:
Ctrl+f: 向文件尾翻一屏 Ctrl+b:向文件首翻一屏
n+: 光标下移n行(n为数字) n-:光标上移n行(n为数字)
0(数字零):光标移至当前行首 $:光标移至当前行尾
nG: 光标移至第n行的行首(n为数字) :n:光标移至第n行的行首(n为数字)
b. 文本插入命令:
i:在光标前开始插入文本 a:在光标后开始插入文本
o:在当前行之下新开一行 O:在当前行之上新开一行
c. 文本删除命令
d0:删至行首 d$或者D:删至行尾
x:删除光标后的一个字符 X:删除光标前的一个字符
ndd:删除当前行及其后n-1行
d. 搜索及替换命令
/pattern:从光标开始处向文件尾搜索pattern ?pattern:从光标开始处向文件首搜索pattern
n:在同一方向重复上一次搜索命令 N:在反方向上重复上一次搜索命令
:s/p1/p2/g:将当前行中所有p1均用p2替代 :n1,n2s/p1/p2/g:将第n1至n2行中所有p1均用p2替代
:g/p1/s//p2/g:将文件中所有p1均用p2替换
e. 退出/保存命令
:w:保存文件 :wq:保存文件并退出vi
:q:退出vi :q!:退出vi,但是不保存文件
2.文本输入模式
在命令模式下输入文本插入命令时,就会进入文本输入模式。在该模式下,用户输入的任何字符都被vi当做文件内容保存起来,并在屏幕上显示。在文本输入过程中按”Esc”键即可回到命令模式。
3.末行模式
在vi中,命令通常只包行几个按键,要想输入更长的命令,要进入“末行模式”。在命令模式下,用户按“:”键即可进入末行模式,此时vi会在显示窗口的最后一行显示一个“:”作为末行模式的提示符,等待用户输入命令。输入完成后回车,命令即会执行,然后vi自动回到命令模式。