vi常用操作

时间:2023-03-08 16:41:48

什么是vi:

vi是Linux/Unix底下最常用的文本编辑器,可以理解为和Windows下的txt一样,咱们一般操作linux服务器的时候都是没有图形化界面的, 怎么移动光标,到哪个位置,替换修改什么的都得用vi里面的操作

vi有两种模式

命令模式

进入vi时的默认模式,此模式下所有的用户输入都视为命令 
        用户在此模式下进行搜索、复制、替换等

编辑模式

用户在此模式下可以编辑文本内容,也就是这个模式下,可以随便输入内容,编辑模式只有一个作用,就是输入内容,其他的查找、粘贴、替换等等都得在命令模式下操作模式切换

命令模式进入编辑模式:

i 当前位置
a 下一位置
o 下一行

       编辑模式进入命令模式:

esc 编辑模式进入命令模式

       区分编辑模式和命令模式就看左下角有没有insert,左下角如果有insert就是编辑模式。

下面介绍命令模式常用的操作,注意都是在命令模式下的

退出vi

:q 退出 vi
:q! 不保存退出
:wq 保存退出
:x 保存退出
:w 保存

光标定位

M 移动光标到页面*
L 移动光标到页面尾处
H 移动光标到页面开始处
ctrl+f 向后翻页
ctrl+b 向前翻页
0 移动光标到行首
$ 移动光标到行尾
/: 从上往下开始查找,然后按n寻找下一个
?: 从下往上开始查找,然后按n寻找下一个

撤销、重复、查找

/xxx 从上往下开始查找
/?xxx 从下往上开始查找
u 撤销
. 重复前一个动作

复制、粘贴、删除

nyy 复制光标所在的向下n行内容
p 在光标处粘贴复制的内容
ndd 删除光标所在向下n行的内容
ctrl + d 往下翻半屏内容
ctrl + u 往上翻半屏内容
shift + g 到文件末尾
dd 删除整行
:set number 显示行号
:set nonu 取消显示行号
:1,3y 复制第一行到第三行
:1,3d 删除第一行到第三行
:1,3s/str/str_new/g 替换第一行到第三行中的字符串
:%s/str/str_new/g 替换所有行中的字符串