Skip to content

Vim Hotkey cheetsheet

编辑命令

i        词前插入
a        词后插入
I        行首插入
A        行尾插入
o        新建一行编辑
O        在上面新建一行

插入

10 i * 【ESC】        插入10个*
25 a xx 【ESC】       插入25个xx
J                 Join合并两行

移动

4l        向右移动4个字符
0         移动至行首
^      移动至行首
$         移动至行尾
2w        向后移动两个单词
3W        向后移动三个单词(只按空格计算)
2b        向前移动两个单词
5B        向前移动五个单词(只按空格计算)
e         移动到单词尾

在屏幕内移动

H        移动至屏顶
M        移动至中央
L        移动至底端
nH       移动到当前屏的第n行(向上)
nL       移动到当前屏的第n行(向下)

句、段、节移动

(         移动到句子开头
)         移动到句子结尾(下一句子开头)
{         移动到段开头
}         移动到段结尾
[[        移动到节开头
]]        移动到节结尾

滚屏

【Ctrl】+F        向下一屏
【Ctrl】+B        向上一屏
【Ctrl】+D        向下半屏
【Ctrl】+U        向下半屏

搜索

/ XX           搜索XX
/【Enter】        向下搜索
?【Enter】        向上搜索
f XX           行内搜索XX(向后搜)
F XX           行内搜索XX(向前搜)
R                replace替换模式
s                删除当前单词插入
S                删除整行从头插入
~                大小写转换
p                put放置
2p               放置2次(粘贴)
xp               对调两个字符trans pose
d                delete删除
2dd              向下删除2行
d3w              向后删3个单词
d3W
d2b
d2B
y                yank复制
yy               复制一行
y2w              向后复制两个单词
y2b
c                change
cw               修改整个单词
c2w              修改后面的2个单词
c3B
r                replace
5rT              将之后的5个字符替换为T
【Enter】         移动到下一行第一个字符
+
-                移动到上一行第一字符
^                移动到行首非空格处
n|               移动到当前第n列
gg               移到文档最顶端
G                移到文档最底端
10G              移到第14行
【Ctrl】+G        显示行状态
zz               保存退出
:e!              清除所有编辑结果
:q!              不保存退出
.                重复上一条命令
u                undo撤销
【Ctrl】+R        redo重做

不动光标滚动屏幕

z 【Enter】        将光标所在行置于屏幕顶端
z  .              将光标所在行置于屏幕中央
z -               将光标所在行置于屏幕底端