网站栏目建设网线制作排序
vi是Linux系统的第一个全屏幕交互式编辑工具,在嵌入式的 学习中是一个不可或缺的强大的文本编辑工具。
一、三种模式
-  
命令模式
-  
如何进入命令模式:按esc键
 -  
复制:yy nyy(n:行数)
 -  
删除(剪切): dd ndd
 -  
粘贴:p
 -  
撤销:u
 -  
反撤:ctrl r
 -  
光标移动首行: gg
 -  
光标移动末行: G
 -  
光标移动行尾:$
 -  
光标跳到第n行
- shift ng
 
 -  
搜索:/或者?(搜索下一个用n)
 -  
调整代码格式:gg=G
 
 -  
 -  
插入模式
-  
进入插入模式
- 先按esc键,然后按以下任意键:a i o A I O
 
 -  
新增 (append)
- – a从光标所在位置后面开始新增资料,光标后的资料随新增资料向后移动。
 - – A从光标所在列最后面的地方开始新增资料
 
 -  
插入 (insert)
- – i从光标所在位置前面开始插入资料,光标后的资料随新增资料向后移动。
 - – I从光标列的第一个非空白字符前面开始插入资料
 
 -  
打开 (open)
- – o在光标所在列下新增一列并进入输入模式。
 - – O在光标所在列上方新增一列并进入输入模式。
 
 
 -  
 -  
底行模式
-  
进入底行模式:先按esc进入命令模式,然后按空格或者冒号。
 -  
指定第几行到第几行复制:5,10y
 -  
指定第几行到第几行删除: 5,10d
 -  
保存:w
 -  
退出:q
 -  
保存并退出:wq 或 x
 -  
强制:!
 -  
竖着分屏:vsp
 -  
横着分屏:split
 -  
取消分屏:on
 -  
查找:/str
 -  
取消高亮:noh
 -  
替换
- s/str1/str2 光标所在行第一个str1替换成str2
 - s/str1/str2/g 光标所在行所有str1替换成str2
 - %s/str1/str2/g每一行中所有str1来替换成str2
 - n,$s/str1/str2/g替换第n行到最后一行中所有str1为str2
 
 -  
设置行号:set nu
 -  
取消:set nonu
 
 -  
 
二、模式转换过程图

