vim
学习笔记
vim三种模式
- 命令模式
- 末行模式
- 输入模式
命令模式
- 当刚刚启动vim时就为该模式
命令模式
- 该模式下所敲击的键盘都为命令
- 若想切换到
输入模式
可敲击字母按键i
- 若想切换到
末行默认
输入键盘中冒号:
命令模式相关命令
i
: 在光标之前插入数据
I
: 光标所在行的行首插入数据
a
: 在光标之后插入数据
A
: 光标所在行的行尾插入数据
o
: 在光标所在行的下一行插入数据
O
: 光标所在行的上一行数据插入数据
s
: 向光标所在的那个字符插入数据并删除光标所指向的字符
S
: 向光标所在行插入数据并删除当前行所有数据
h
j
k
l
: 分别代表 左
/下
/上
/右
移动
M
: 光标移动到中间行
L
: 光标移动到屏幕最后一行
G
: 跳转到指定行 行号G
:
例如:移动到第二行2G
gg
: 跳转到首行
GG
: 跳转到最后一行
gg=G
: 自动格式化文本
%
: 括号匹配
x
: 删除光标下的字符
dw
: 删除单词
D
: 删除光标到行尾的所有字符
0
: 光标移动到行首
$
: 光标移动到行尾
d0
: 删除光标到行首的所有字符
d$
: 删除光标到行尾的所有字符
r
: 替换光标下的字符
v
: 可视, 选中某区域使用 h j k l
来移动选中区域
数字dd
: 删除n行
yy
: 复制一行
p
: 粘贴到光标下一行
P
: 粘贴到光标上一行
[数字]yy
: 复制多行
u
ctr+r
: 撤销上一步u
, 反撤销ctr+r
/
: 查找/查找的内容
- 按
n
查找下一个 - 按
N
查找上一个
*
#
: 查找已知内容, 将光标移动到需要被查找的字符按
*
向后查找#
向前查找
[d
: 查看宏定义(前提是该宏存在)
末行模式
按esc
输入:
进入末行模式
数字
: 跳转到指定的行
例如: 跳转到22行:22
s /old/new
| %s /old/new
| %s /old/new/g
| 数字,数字s /old/new
- 单行替换 将光标移动到需要被替换的行
:s /被替换的/替换后的
- 全文替换
:%s /被替换的/替换后的
只会替换每行的第一个被匹配的 - 全文整行替换
:%s /被替换的/替换后的/g
全文替换如一行多个匹配都会被替换 - 区域替换
:开始行,结束行s /被替换的/替换后的
替换指定区域中匹配的
sp
vsp
: 分割窗口
- 垂直分割:
sp
- 水平分割:
vsp
- 切换页面:
ctr + ww
- 退出光标所在页面:
q
- 退出所有页面:
qall
ctr+p
|ctr+n
:
- 上一个命令
ctr+p
- 下一个命令
ctr+n
w
: 保存不退出vim
qw
: 保存并退出
q!
: 不保存退出
!
: 不保存执行命令
:!
[执行的命令]