vi编辑器
一、 前言
vi编辑器是linux系统的第一个编辑工具,类似于Windows系统下的Word、记事本,完成对所录入字符的编辑功能。
二、vi的基本模式
1) 命令行模式
在该模式下,用户可以输入命令来控制屏幕的光标的移动,删除字符、单词、行,移动或复制某区段,也可进入底行模式和插入模式。
2)插入模式
只有在该模式下用户才可以进行字符的输入,按【ESC】回到命令行模式。
3)底行模式
在该模式下用户可以保存或退出vi,这模式下的命令都是以 “ :”开头。
三、模式切换
1)命令行模式、底行模式转插入模式
指令 | 作用 |
---|---|
a | 从光标所在位置的后面开始新增资料,光标后的资料往后移 |
A | 从光标所在列的最后面新增资料 |
i | 从光标所在位置的前面开始新增资料,光标后的资料往后移 |
I | 从光标所在列的第一个非空白字符前面开始插入资料 |
o | 在光标所在列下新增一列,并进入插入模式 |
O | 在光标所在列上新增一列,并进入插入模式 |
最常用的是按【i】切换到插入模式。
2)插入模式转命令行模式、底行模式
只需按【ESC】即可。
3)命令行模式与底行模式互换
无需其他命令,只需直接键入相应模式的命令键即可。
四、一些基本指令
1、删除/剪切、复制指令
指令 | 作用 |
---|---|
nx | 剪切从光标所在的字符开始的n个字符 |
ndd | 剪切自光标所在行开始的n行 |
ncb | 剪切光标所在的前n个单词 |
ncw | 剪切光标所在的后n个单词 |
s | 删除光标所在的字符,并进入插入模式 |
S | 删除光标所在的行,并进入插入模式 |
nyb | 复制光标所在的前n个单词 |
nyw | 复制光标所在的后n个单词 |
y$ | 复制从光标所在的字符到行尾的所有字符 |
nyy | 复制光标自所在行开始,向下的n行 |
p | 将缓冲区的字符粘贴到光标所在位置 |
u | 取消上一次的文本编辑操作 |
以上命令都是在命令行模式使用的。
2、vi的光标移动
指令 | 作用 |
---|---|
H | 光标移动到当前屏幕的第一行第一列 |
gg | 光标移动到当前屏幕的第一行第一列 |
M | 光标移动到当前屏幕的中间行第一列 |
L | 光标移动到当前屏幕的最后行第一列 |
b | 移动到上一个字的第一个字母 |
w | 移动到下一个字的第一个字母 |
h | 光标向前移动一个字符 |
l | 光标向后移动一个字符 |
k | 光标向上移动一行 |
j | 光标向下移动一行 |
e | 移动到下一个字的最后一个字母 |
^ | 移动到光标所在行的第一个非空白字符 |
n- | 向上移动n行 |
n+ | 向下移动n行 |
nG | 移动到第n行 |
:n | 光标移动到第n行 |
以上命令需要在命令行模式下进行
3、vi的查找与替换
指令 | 作用 |
---|---|
/<要查找的字符> | 向下查找要的字符 |
?<要查找的字符> | 向上查找要的字符 |
:range s/ str1/str2/gc | range 要替换的范围 |
:range s/ str1/str2/gc | s 转入替换模式 |
:range s/ str1/str2/gc | str1 要查找的正则表达式,str2 希望把匹配串变成的模式的正则表达式 |
:range s/ str1/str2/gc | g 可选标志,表示替换将针对行中每个匹配的串进行,否则只替换行中的第一个字符串。c 可选标志,表示替换前询问。 |
查找命令在命令行模式下,替换命令则在底行模式下
4、vi的文件操作指令
指令 | 作用 |
---|---|
:q | 退出vi编辑器 |
:w | 保存,后面可以加文件名 |
:wq | 保存文档并退出 |
:q! | 强制退出,不保存文件的修改 |
:wq! | 强行保存文件并退出vi编辑器 |
以上命令需要在底行模式下进行,以“ : ”开头
参考他人资源,自己总结,如有错误,欢迎大佬指正,感谢。