vi/vim常用命令

简介

vi/vim共分为三种模式,分别是一般模式,编辑模式和命令模式。

用户刚启动vi/vim,便进入了一般模式;
在一般模式下按下i就进入了编辑模式;
在一般模式下按下:就进入了命令模式;

一般模式

复制:

yy    复制当前行
nyy    从光标向下复制n行

粘贴:

p    将复制内容粘贴到光标所在行之下
P(大写)    将复制内容粘贴到光标所在行之上
np/nP    将复制的内容粘贴n次

删除:

dd    删除光标所在行
ndd    从光标所在行开始向下删除n行

撤销:u
反撤销:ctrl + r
光标移动:

1G    将光标移动到第一行行首(同gg)
nG    将光标移动到第n行行首
G    将光标移动到最后一行行首
0(零)    将光标移动到当前行行首
$    将光标移动到当前行行尾

查找:

1. /向下查找内容
n    查找下一个
N    查找上一个
2. ?向上查找内容
n    查找下一个
N    查找上一个

编辑模式

一般模式进入编辑模式:
a 光标之后插入
i 光标之前插入
o 在光标下新建一行
A 光标所在行行尾插入
I 光标所在行行首插入
O 在光标上新建一行

编辑模式:按Esc退出编辑模式

命令模式

命令行模式:
: 英文冒号,进入命令行模式
功能:保存退出、设置行号、查找忽略大小写、替换

保存退出:

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

设置行号:

:set nu    显示行号
:set nonu    取消显示行号

查找忽略大小写:

:set ic    查找时忽略大小写
:set noic    取消查找时忽略大小写

替换:
:s/oldstr/newstr 用newstr替换oldstr

替换当前行
:s/5/a 把当前行的5用a替换

替换指定行
:7s/5/a 把第7行的5用a替换

替换指定区域
:4,9/5/a 把第4-9行的5用a替换

全文替换
:1,$s/5/a $代表最后一行
%s/5/a %代表全文件

注:
如果一行存在多个要替换的内容,:1,$s/5/a/g

/g表示全部替换,如果不加/g,只替换每行第一次匹配到的内容

(完)

最后修改于:2023年01月16日 17:23

添加新评论