1、四种模式:
- 正常模式
- 插入模式
- 命令模型
- 可视模式
2、正常模式
2.1插入模式 i a o I A O
i进入插入模式
I进去插入模式并且光标到当前行开头
a进去插入模式并且光标到当前光标的下一位
A进去插入模式并且光标到当前行的末尾
o进去插入模式并且光标到当前光标的下一行产生空行
O进入插入模式并且光标到当前行的上一行产生空行
2.2 正常模式下,四个方向hjkl
h 左
l 右
j 下
k 上
2.4 正常模式下,复制,粘贴,剪切
2.4.1 复制
yy 复制单行
3yy 复制3行(当前行往下三行,包括当前行)
y$ 复制当前光标位置到这一行的结尾字符
2.4.2 粘贴
p 粘贴单行 3p 粘贴3行
2.4.3 剪切
dd 剪切一整行
ndd 剪切n行
d$ 剪切当前位置到这一行的结尾
d1G:删除光标所在到第一行的所有数据
dG:删除光标所在到最后一行的所有数据
2.4.4 撤销
u 普通模式下,撤销 ,多次u多次撤销
u ctrl +r 重做,返回上一次撤销,相当于win的ctrl+y
2.4.5 删除与替换指定字符
x 删除指定字符,光标选中,按x
r+新字符 字符替换,光标选中按r 在输入新字符
2.4.6移动光标
G 移动到指定行
:set nu 查看当前行
11G 移动到第11行
g 移动到第一行
G(shift+g)移动到最后一行
^ 表示到这一行的开头
$ 表示到这一行的结尾(用于一行太长的情景)
3、命令模式(末行模式)
3.1退出
- :w +文件名 保存到指定文件名中,默认保存到原始文件当中
- :q 退出
- :q! 强制退出
- :wq! 强制写入退出
3.2 执行命令
:! +功能命令 如:! ipconfig ,表示临时查看命令
3.3 查找替换
/ +字符 表示查找某个字符 n向下移动查找 shift n向上移动查找
:s/old/new 替换字符,默认表示所在行范围进行替换
整个文件范围替换使用:%s/old/new/g(多次替换加/g,单次则不需要)
在指定范围替换使用 :3,5s/old/new/g
3.4 设置
:set +命令 表示单次修改设置生效,如 nu , nonu,设置永久生效则需要去配置文件(/etc/vimrc)中添加 set nu的配置
vim /etc/vimrc 对所有用户有效
和 vim ~ .vimrc 仅对当前用户生效
4、可视模式
- v 字符可视模式
- V 行可视模式
- ctrl+v 块可视模式
光标选中多行后按大写I,然后输入内容,再按两次ESC,
块删除,ctrl+v 进入可视模式,光标选中多行,按d进行删除