> 文档中心 > 嵌入式学习-----vi编辑器的使用一

嵌入式学习-----vi编辑器的使用一

vi编辑器三种模式的使用

  • 1.命令行模式
    • 2.编辑模式
      • 3.底行模式

1.命令行模式

1.1 什么叫命令行模式呢?
用户进入编辑器默认处于的模式,且在此时,是不能进行代码的输入
例:

vi com.c 创建一个com.c文件
按回车键进入编辑页面,此时是属于命令行模式的

在这里插入图片描述
在这里插入图片描述

1.2 命令行常见操作
我会一一为大家演示一下命令

yy:复制代码
nyy:从光标位置复制n行代码
p:粘贴在光标下一行
P:粘贴在光标上一行
dd:从光标位置剪切代码
ndd:从光标位置剪切n行代码
u:撤销
ctrl+r:反向撤销(即恢复刚刚撤销的内容)
x:从光标位置进行删除

我现在要复制头文件#include
把光标移到第7行,然后按两下yy;
光标还是在第7行,按小写的p即可完成粘贴
如果要撤销按u

yy:复制代码
粘贴p,粘在光标的下一行
撤销按u

在这里插入图片描述
在这里插入图片描述

这时候我们要把第8行的内容撤销掉

一是按u撤销
而是按dd撤销这一行
注意:依然是从光标位置开始

在这里插入图片描述
如果我们要复制第7,8行的代码
光标移到第7行输入2yy
粘贴在第9行的上面,光标移到第9行的开头
输入P

复制n行代码nyy
粘贴到光标的上面P
剪贴n行ndd

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
现在我们从第8行开始剪切3行,光标先移动到第8行,然后输出3dd,
第8,9,10行的内容就会消失。
在这里插入图片描述
如果我们要删除头文件#include

x单个字符进行删除(从光标位置开始)

在这里插入图片描述

2.编辑模式

2.1什么叫编辑模式呢?
能够在文件下,进行代码的输入,删除等一系列操作。
2.2怎么从命令行模式进入编辑模式呢?

在命令行输入a/i/o,区别在于光标的位置不一样。
A:将光标移到行尾
I:直接将光标进入行首
a:从光标的下一个位置输入
i:从光标位置输入
O:是在上面加空行
o:是在下面加空行
不用按a或者i,换行后直接进入插入模式

2,3怎么从编辑模式退出进入命令行模式呢?

按下键盘上Esc键,即进入命令行模式

在这里插入图片描述

按下A后,底行显示插入

在这里插入图片描述

退出编辑模式,按键盘上的Esc即进入到命令行模式

在这里插入图片描述

I:直接将光标进入行首

此时光标在;的位置上
按下I会去哪里呢?

在这里插入图片描述
在这里插入图片描述

a:从光标的下一个位置输入
退出编辑模式按Esc

在这里插入图片描述
在这里插入图片描述

i:从光标位置输入
退出编辑模式按Esc

在这里插入图片描述
在这里插入图片描述

O:是在上面加空行
o:是在下面加空行
注意:直接在命令行模式输入,O/o即可进入编辑模式

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.底行模式

3.1什么叫底行模式呢?

按ESC退回到命令行模式,输入冒号,进入底行模式

3.2底行模式常用的命令

在底行模式输入:q!--强制不保存退出:w--保存:wq--保存退出--与:x作用一样:q--退出! [date/pwd]查看时间和当前编译文件的路径:w file另存为file给出的文件名,不退出(类似于 cp a b做一个备份):r file 读入文件的内容

:vsp file 编辑另外一个名叫file的文件(对照)
:set mouse=a 使光标能随鼠标点击移动
:set mouse=v能在vi内使用右键复制的功能
:N到第N行
:set nu加行号
:set nonu 不加行号

:q!强制不保存退出
①我们重新创建一个del.c的文件
②按Esc后
③再按冒号q!
④用ls查看目录最后的结果,结果目录下面没有del.c的文件
在这里插入图片描述在这里插入图片描述

:w–保存但是不退出
①先vi del.c的文件
②按Esc进入命令行模式
③底行模式输入:w
④界面还是会停留在编辑页面
显示del.c文件已写入
在这里插入图片描述

:wq–保存退出-
①del.c的已写入的文件后
②按:(冒号)输入wq
:wq
③就会退出编辑界面
④用ls查看就会有del.c的文件
在这里插入图片描述

:!date查看时间
:!pwd查看路径
在这里插入图片描述
在这里插入图片描述

:w file另存为file给出的文件名,不退出(类似于 cp a b做一个备份)
现在我们另存给file.c文件
通过ls命令查看路径下是否有file.c文件
在这里插入图片描述
嵌入式学习-----vi编辑器的使用一

:vsp file 编辑另外一个名叫file的文件(对照)
现在我们对照file.c和del.c的文件
vi del.c的文件在底行模式下输入:vsp file.c
在这里插入图片描述
在这里插入图片描述

这些也是同样的道理:在底行模式下输入
这里就不在一一解释了
:set mouse=a 使光标能随鼠标点击移动
:set mouse=v能在vi内使用右键复制的功能
:N到第N行
:set nu加行号
:set nonu 不加行号