基本移动命令
命令 |
描述 |
h |
向左移动 |
j |
向下移动 |
k |
向上移动 |
l |
向右移动 |
w |
移动到下一个单词开头 |
b |
移动到上一个单词开头 |
e |
移动到当前单词末尾 |
0 |
移动到行首 |
^ |
移动到行首第一个非空白字符 |
$ |
移动到行尾 |
gg |
移动到文件开头 |
G |
移动到文件末尾 |
:[n] |
移动到第 n 行 |
插入模式
命令 |
描述 |
i |
在光标前插入 |
a |
在光标后插入 |
I |
在行首插入 |
A |
在行尾插入 |
o |
在当前行下方新建一行并插入 |
O |
在当前行上方新建一行并插入 |
编辑命令
命令 |
描述 |
x |
删除当前字符 |
dd |
删除当前行 |
dw |
删除到下一个单词开头 |
d$ |
删除到行尾 |
d^ |
删除到行首 |
yy |
复制当前行 |
p |
粘贴 |
u |
撤销 |
Ctrl+r |
重做 |
. |
重复上一次修改 |
搜索与替换
命令 |
描述 |
/pattern |
向前搜索 pattern |
?pattern |
向后搜索 pattern |
n |
下一个匹配项 |
N |
上一个匹配项 |
:%s/old/new/g |
全局替换 old 为 new |
:%s/old/new/gc |
全局替换,每次确认 |
可视模式
命令 |
描述 |
v |
进入字符可视模式 |
V |
进入行可视模式 |
Ctrl+v |
进入块可视模式 |
窗口管理
命令 |
描述 |
:sp [file] |
水平分割窗口 |
:vsp [file] |
垂直分割窗口 |
Ctrl+w h |
移动到左侧窗口 |
Ctrl+w j |
移动到下方窗口 |
Ctrl+w k |
移动到上方窗口 |
Ctrl+w l |
移动到右侧窗口 |
Ctrl+w c |
关闭当前窗口 |
Ctrl+w o |
只保留当前窗口 |
标签页
命令 |
描述 |
:tabnew [file] |
新建标签页 |
gt |
下一个标签页 |
gT |
上一个标签页 |
:tabclose |
关闭当前标签页 |
文件操作
命令 |
描述 |
:e file |
打开文件 |
:w |
保存文件 |
:w file |
另存为 file |
:q |
退出 |
:q! |
强制退出不保存 |
:wq |
保存并退出 |
:x |
保存并退出 |
其他实用命令
命令 |
描述 |
* |
搜索当前光标下的单词 |
# |
反向搜索当前光标下的单词 |
:%!command |
将当前缓冲区内容通过 command 过滤 |
:r!command |
将 command 的输出插入到当前位置 |
:set nu |
显示行号 |
:set nonu |
隐藏行号 |
:set hlsearch |
高亮搜索结果 |
:set nohlsearch |
取消高亮搜索结果 |