vi是一个命令,也是一个命令行下的编辑器,它有如下的功能:
- 打开文件、新建文件、保存文件
- 移动光标
- 文本编辑
- (多行列间)复制、粘贴、删除
- 查找替换
现场调试没有gui形式的编译工具,vi是唯一的选择(vim也可以不过需要另行下载)
模式
vi编辑器有三种模式,每个模式的侧重点不一样:
a)一般模式(光标的移动,复制、粘贴、删除)
b)编辑模式(编辑文本)
c)命令行模式(查找和替换)
vi编译器的三种模式的切换:
在Desktop路径下建立test1.txt文件:
打开终端
进入Desktop目录
创建文件:vi + 文件名
进入vi的一般模式,点击i进入编辑模式在光标处插入数据
输完数据后,点击ESC退出编辑模式回到一般模式
在一般模式下输入? ? :wq? (保存退出回到终端命令行)
如果不想保存输入“:q!”即可强制退出
在一般模式输入命令的时候要先输入“:”然后输入下边的命令(无法对文本进行编辑)
一般vi打开文件的时候都是在一般模式下,这时候可以输入下边的字母进入到编辑模式对文本进行编辑。
在一般模式下可以使用下边的快捷键移动光标或者翻页。
注意:当不知道vi编辑器处于什么模式的时候,使用ESC返回到一般模式
快速定位到某一行:(一般模式下)
- ngg:光标移到第n行的行首(1gg:第一行行首、2gg:第二行行首)
- G转跳到文件结尾
快速确定列的位置:(一般模式下)
- 0:光标在移动至当前行的行首
- $:光标制动到当前行的行末
- fx:搜索当前行中下一个字母x出现的地方
?通过vi 命令打开文本的时候文本在在一般模式下进行下列操作:
yy? ? ?????????????????//复制当前行
nyy? ? ? ? ? ? ? ? ? ?//复制当前行以及其后的n-1行
p? ? ? ? ? ? ? ? ? ? ? ?//粘贴
cc? ? ? ? ? ? ? ? ? ? ? ?//删除整行并且修改整行的内容
dd? ? ? ? ? ? ? ? ? ? ? ?//删除改行不提同修改功能
ndd? ? ? ? ? ? ? ? ? ? ?//删除当前行以及其后的n-1行
x? ? ? ? ? ? ? ? ? ? ? ? ?//删除光标所在的字符
X? ? ? ? ? ? ? ? ? ? ? ? ?//删除光标前的字符
s? ? ? ? ? ? ? ? ? ? ? ? ? //删除光标所在的字符
u? ? ? ? ? ? ? ? ? ? ? ? ? ?//撤销上一步操作
?通过vi 命令打开文本的时候文本在在一般模式下进行下列操作:
查找:
/abc? ? ? ? ? ? ? ? ?//从光标处开始向文件尾搜索abc,后按下n或者N
替换:
:%s/p1/p2/g? ? ? ? ? ? ? ? //将文本中的所有p1用p2替代
:%s/p1/p2/gc? ? ? ? ? ? ? ?//将文本中的所有p1用p2替代,替换时需要确认
“s”: 全称:substitute替换
“g”: 全称:global全局
“c”: 全称:confirm,确认
更多命令参考: