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!: 不保存退出
!: 不保存执行命令
:![执行的命令]