综述
vim是linux下一款非常强大的文本编辑器,每位程序员都应该熟练掌握。当然工具的目的是提高生产效率,对于vim的使用不必强制,最重要的还是适合自己
引用块内容
下面是vim键盘图。
- 命令模式
- 在vim刚刚启动的时候,进入的就是命令模式
- 按i/a进入,可以正常输入和编辑文本。
i:正常的插入模式
a:移动到光标行的最末端进入插入
- 插入模式
- 基本操作与普通文本编辑器类似
- 按esc退出插入模式,进入命令模式
- 底线命令行模式
- q 放弃保存文本 !q强制泛起
- w 保存文本 !w强制保存
操作
光标移动
操作 | 效果 |
---|---|
Ctrl + d | 向下移动半页 |
Ctrl + u | 向上移动半页 |
数字n + space键 | 从当前位置向后移动n个字符,可以换行 |
j | 命令模式下下移 |
k | 命令模式下上移 |
l | 命令模式下左移 |
h | 命令模式下右移 |
M | 当前屏幕最中间的那一行的第一个字符 |
L | 当前屏幕最下方的那一行的第一个字符 |
gg | 移动到文本的第一行 |
nG | 移动到指定的第n行 |
n + enter | 向下移动n行 |
G | 移动到该文本的最后一行 |
H | 当前屏幕最上方的那一行的第一个字符 |
M | 当前屏幕最中间的那一行的第一个字符 |
L | 当前屏幕最下方的那一行的第一个字符 |
删除粘贴
操作 | 效果 |
---|---|
x | 向后删除一个字符 |
X | 向前删除一个字符 |
ndl | 向后删除N个字符 |
dd | 删除当前行 |
ndd | 删除后面的n行 |
d1G | 删除从第一行到当前行 |
dG | 删除当前行到最后一行 |
d$ | 删除该行从当前到最后一个字符 |
d^ | 删除该行从当前到第一个字符 |
yy | 复制当前行 |
nyy | 复制从当前到后面的n行 |
y1G | 从文本第一行复制到当前行 |
yG | 从该行复制到文本最后一行 |
y$ | 复制该行从当前到最后一个字符 |
y^ | 复制该行从当前到第一个字符 |
p | 粘贴,从当前位置向后 |
P | 粘贴,从当前位置向前 |
J | 将当前行和下一行结合成同一行 |
u | 复原上一个动作 |
ctrl + r | 重做上一个动作 |
ddp | 交换上下两行 |
搜索替换
操作 | 效果 |
---|---|
/ + word | 单词搜索,向下 |
? + word | 单词搜索,向上 |
n | 单词搜索后,向下查找 |
N | 单词搜索后,向上查找 |
/ + word | 单词搜索,向下 |
/ + word | 单词搜索,向上 |
这些是简单的vim操作,需要熟练使用
命令行
移动到命令行头:ctrl + a
移动到命令号尾:ctrl + e(end)
删除到行尾:ctrl + k
删除到行头:ctrl + u
编辑太长的命令:
ctrl + x + e