移动光标命令 | 操作 |
---|---|
h | 光标向左移动一个字符 |
j | 光标向下移动一个字符 |
k | 光标向上移动一个字符 |
l | 光标向右移动一个字符 |
$ | 光标移动到当前行的最后一个字符处 |
^ | 光标移动到当前行的第一个字符处 |
{n} + [Space] | 光标向右移动{n}个字符 |
{n} + [Enter] | 光标向下移动{n}行 |
gg | 光标移动到文档的第一行 |
G | 光标移动到文档的最后一行 |
z + z | 光标移动当前行到屏幕中间 |
z + t | 光标移动当前行到屏幕顶端(top) |
z + b | 光标移动当前行到屏幕底部(bottom) |
H | 光标移动到屏幕顶端那一行的第一个字符 |
M | 光标移动到屏幕中间那一行的第一个字符 |
L | 光标移动到屏幕底部那一行的第一个字符 |
[Ctrl] + f | 屏幕向下移动一页(front) |
[Ctrl] + b | 屏幕向上移动一页(back) |
[Ctrl] + d | 屏幕向下移动半页(down) |
[Ctrl] + u | 屏幕向上移动半页(up) |
[Ctrl] + y | 屏幕向上移动一行 |
[Ctrl] + e | 屏幕向下移动一行 |
搜索、替换命令 | 操作 |
---|---|
/{word} | 向光标之下搜索字符串{word}并移动光标到第一个搜索到的位置 |
?{word} | 向光标之上搜索字符串{word}并移动光标到第一个搜索到的位置 |
n | 重复上一个搜索命令 |
N | 反向重复上一个搜索命令 |
:{n1},{n2}s/{word1}/{word2}/g | 在第{n1}行到第{n2}行之间寻找字符串{word1}并替换为{word2} |
:1,$s/{word1}/{word2}/g或:%s/{word1}/{word2}/g | 从第一行到最后一行搜索字符串{word1},并替换为{word2} |
:1,$s/{word1}/{word2}/gc或:%s/{word1}/{word2}/gc | 从第一行到最后一行寻找字符串{word1},在用户确认之后就将该字符串替换为{word2} |
编辑命令 | 操作 |
---|---|
x | 删除光标后的一个字符 |
X | 删除光标前的一个字符 |
d + d | 删除光标所在行 |
{n} + d + d | 删除光标所在行向下的{n}行 |
D或d + $ | 从光标所在位置删除到当前行尾 |
Y或y + y | 复制光标所在行 |
{n} + y + y | 复制光标所在行向下的{n}行 |
p | 将复制的数据,粘贴到光标的下一行 |
P | 将复制的数据,粘贴到光标的上一行 |
J | 将光标所在行与下一行结合成同一行(join) |
u | 撤销(undo) |
[Ctrl] + r | 重做(redo) |
进入编辑模式 | 操作 |
---|---|
I | 光标所在处开始输入 |
I | 光标所在行第一个字符处开始输入(行首) |
a | 光标所在处的下一个字符开始输入 |
A | 光标所在行最后一个字符处输入(行尾) |
o | 光标所在行下插入新一行处开始输入 |
O | 光标所在行上插入新一行处开始输入 |
[Esc] | 回到一般模式 |
分屏 | 操作 |
---|---|
:split {file_path} | 上下分屏 |
:vsplit {file_path} | 左右分屏 |
[Ctrl] + w + h | 将光标从当前所在分屏移到左边的分屏内 |
[Ctrl] + w + j | 将光标从当前所在分屏移到下方的分屏内 |
[Ctrl] + w + k | 将光标从当前所在分屏移到上边的分屏内 |
[Ctrl] + w + l | 将光标从当前所在分屏移到右边的分屏内 |
[Ctrl] + w + {n} + [+] | 光标所在分屏增加{n}行的高度 |
[Ctrl] + w + {n} + [-] | 光标所在分屏降低{n}行的高度 |
[Ctrl] + w + {n} + < | 减少光标所在分屏的{n}个字符的宽度 |
[Ctrl] + w + {n} + > | 增加光标所在分屏的{n}个字符的宽度 |
[Ctrl] + w + H | 将光标所在分屏移到屏幕的最左边 |
[Ctrl] + w + J | 将光标所在分屏移到屏幕的最底部 |
[Ctrl] + w + K | 将光标所在分屏移到屏幕的最上边 |
[Ctrl] + w + L | 将光标所在分屏移到屏幕的最右边 |