note/vim

Vim Cheatsheet

切换编辑模式

switch
i 当前光标前进入插入模式
a 当前光标后进入插入模式
I 行首进入插入模式
A 行末进入插入模式
v 可视化模式(选择一段字符进行操作)
V 按行的可视化模式
R 该行进入替换模式
Esc 退出至普通模式

普通模式下的操作符

operator
<number> <operator> 执行 n 次 operator
x 删除光标位置的字符
d <motion> 从当前光标处删至 motion 移至的光标处
dd 删除整行
u 撤销
U 撤销对该行的修改
Ctrl-r 恢复修改
p 将最后一次删除内容置入光标后
r <char> 用 char 替换光标处字符
c <motion> 从当前光标处删至 motion 移至的光标处,并进入插入模式(更改)
y <motion> 复制
yy 复制整行

普通的移动光标指令

normal motion
<number> <normal-motion> 移动 n 个 motion
h 左移
j 下移
k 上移
l 右移
w 移至下一个单词前
e 移至该单词末
$ 移至行末
/string 查找 string
n 查找下一个
N 查找上一个
?string 反向查找

特殊的移动光标指令

special motion
0 移至行首
G 跳至最后一行
gg 跳至第一行
<number> G 跳至指定行
<number> gg 跳至指定行

命令

:w 保存
:q 退出
:q! 不保存退出

其他

Ctrl-g 显示当前行数

替换

:[region]s/string1/string2[/mode]

region:

  • #: 前一个文件
  • %: 当前文件

string

正则表达式。string1 中用 \( \) 括起来的部分可以在 string2 中使用 \<number> 代替。

mode:

  • e: 不显示错误
  • g: 不提示确认
  • i: 忽略大小写

About Me