vi的工作模式及各模式之间如何相互切换?

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/07 07:23:38
vi的工作模式及各模式之间如何相互切换?

vi的工作模式及各模式之间如何相互切换?
vi的工作模式及各模式之间如何相互切换?

vi的工作模式及各模式之间如何相互切换?
Vi有三种基本的工作模式:指令行模式、文本输入模式、行末模式.他们的相互关系如所示.
指令模式(Command Mode) 下输入 a、i、o进入文本输入模式(Input Mode)
文本输入模式(Input Mode) 下按ESC进入指令模式(Command Mode)
指令模式(Command Mode)下输入:进入末行模式(Last line Mode)
末行模式(Last line Mode)下指令错误则返回指令模式(Command Mode)
下面分别介绍这三种模式
1、指令模式(Command Mode)
指令模式主要使用方向键移动光标位置进行文字的编辑,下面列出了常用的操作命令及含义.
0 -----光标移动至行首
h -----光标左移一格
l -----光标右移一格
j -----光标下移一行
k -----光标上移一行
$+A-----将光标移动到该行最后
PageDn ----- 向下移动一页
PageUp ----- 向上移动一页
d+方向键 -----删除文字
dd -----删除整行
pp -----整行复制
r -----修改光标所在的字符
S -----删除光标所在的列,并进入输入模式
2、文本输入模式(Input Mode)
在指令模式下(Command Mode)按a/A键、i/I键、o/O键进入文本模式,文本输入模式的命令及其含义如下所示.
a -----在光标后开始插入
A -----在行尾开始插入
i -----从光标所在位置前面开始插入
I -----从光标所在列的第一个非空白字元前面开始插入
o -----在光标所在列下新增一列并进入输入模式
O -----在光标所在列上方新增一列并进入输入模式
ESC -----返回命令行模式
3、末行模式(Last line Mode)
末行模式主要进行一些文字编辑辅助功能,比如字串搜索、替代、保存文件等操作.主要命令如下
:q -----结束Vi程序,如果文件有过修改,先保存文件
:q! -----强制退出Vi程序
:wq -----保存修改并退出程序
:set nu -----设置行号
需要注意的是,以上指令都是在英文输入模式下才有效,在linux 终端下有时我们用的是中文输入模式,输入中文的“:”就不能转换模式了.