3-1模式转换示意图
在命令模式下,你所能进行的操作有移动光标在屏幕上的位置,标记、删除、移动、复制字符或文本区块,还可以将文件写入或退出编辑器,亦可设置编辑环境,如寻找字符串、列出行号等。此外在系统提示符下输入vi及文件名称后,即进入vi全屏幕编辑画面(命令模式)。
3-2 vi模式
只有在输入模式下,才可进行文字输入,按ESC键可以回到命令模式。在命令模式下可按“i”或“a”或“o”等键进入输入模式。
i——在目前光标前插入所要输入之文字。
a——在目前光标后开始输入文字。
o——在当前光标所在行下新增一空行,并从行首开始输入文字。
I——插于行首。
A——插于行尾。
O——在当前光标所在行上新增一空行,并从行首开始输入文字。
按下ESC键随时可返回vi的命令模式。如果不能确定现在vi是在哪个模式下,按下ESC键以使其在命令模式下,然后再从这里继续;如果按下ESC键时已经在命令模式了,系统会鸣叫且屏幕闪一下,通知你已在命令模式中。
2.2.2 vi的启动与退出
一、vi的启动
输入vi命令后,便进入全屏幕编辑环境,此时的状态为命令模式
(1):vi
进入vi的一个临时缓冲区,光标定位在该缓冲区第1行第1列的位置上。
(2):vi filel
如果filel文件不存在,将建立此文件;如该文件存在,则将其拷贝到一个临时缓冲区。光标定位在该缓冲区第1行第1列的位置上。
(3):vi + filel
如果filel文件不存在,将建立此文件;如该文件存在,则将其拷贝到一个临时缓冲区。光标定位在文件最后1行第1列的位置上。
(4):vi +N filel(N:为数字)
如果filel文件不存在,将建立此文件;如该文件存在,则将其拷贝到一个临时缓冲区。光标定位在文件第N行第1列的位置上。
(5):vi +/string filel .
如果filel文件不存在,将建立此文件;如该文件存在,则将其拷贝到一个临时缓冲区。光标定位在文件中第一次出现字符串string的行首位置上。
二、vi的退出
建议在退出vi前,先按ESC键,以确保当前vi的状态为命令方式,然后再键入“:”(冒号),输入下列命令,退出vi。
(1):w
将编辑缓冲区的内容写入文件,则新的内容就替代了原始文件。这时并没有退出vi,必须进一步输入q命令才能退出vi:
:w filename(存入指定文件)
:q
(2):wq
即将上面的两步操作可以合成一步来完成,先执行w,后执行q。
(3):x和ZZ(注意ZZ前面没有“:”)
功能与(2)等价。
(4):q!(或:quit)
强行退出vi,使被更新的内容不写回文件中。仅键入命令:q时,如vi发现文本内容已被更改,将提示用户使用“:quit”命令退出。
2.2.3 vi的使用实例
一、修改系统默认的启动级别
linux 有7个运行级别,如表2-1
表2-1
0 | 关机 |
1 | 单用户文本模式 |
2 | 多用户文本模式(无NFS功能) |
3 | 多用户文本模式 |
4 | 未定义 |
5 | 多用户图形模式 |
6 | 重启 |
系统的默认启动级别文件是/etc/inittab。
#vi /etc/inittab
id:3:initdefault
#其中3代表系统的默认启动级别
二、修改IP地址
linux系统有多种修改IP地址的方法,其中使用vi修改IP地址是最通用的。IP地址(第一个以太网接口)的文件是/etc/sysconfig/network-scripts/ifcfg-eth0。
#vi /etc/sysconfig/network-scripts/ifcfg-eth0
IPADDR=192.168.10.237
#代表当前计算机的IP地址
三、修改显示分辨率
同IP地址一样,显示的分辨率也可以用vi来修改。相关文件是/etc/X11/xorg.conf。
#vi /etc/X11/xorg.conf
Modes “1024x768” “800x600” “720x400” “640x480” “640x400” “640x350”
#其中,1024x768是当前的分辨率