1.命令行模式
1.1 什么叫命令行模式呢?
用户进入编辑器默认处于的模式,且在此时,是不能进行代码的输入
例:
vi com.c 创建一个com.c文件
按回车键进入编辑页面,此时是属于命令行模式的
1.2 命令行常见操作
我会一一为大家演示一下命令
yy:复制代码
nyy:从光标位置复制n行代码
p:粘贴在光标下一行
P:粘贴在光标上一行
dd:从光标位置剪切代码
ndd:从光标位置剪切n行代码
u:撤销
ctrl+r:反向撤销(即恢复刚刚撤销的内容)
x:从光标位置进行删除
我现在要复制头文件#include<stdio.h>
把光标移到第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<stdio.h>
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文件
: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 不加行号