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,只替换每行第一次匹配到的内容
(完)