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