命令 | 说明 |
光标移动 | |
h | 左 |
l(小写L) | 右 |
j | 下 |
k | 上 |
w | 移动到下一个单词 |
b | 移动到上一个单词 |
插入 | |
i | 在当前光标处进行编辑 |
I(大写i) | 在行首插入 |
A | 在行末插入 |
a | 在光标后插入编辑 |
o | 在当前行后插入一个新行 |
O | 在当前行前插入一个新行 |
cw | 替换从光标所在位置后到一个单词结尾的字符 |
退出 | |
:q! | 强制退出, 不保存 |
:q | 退出 |
:wq! | 强制保存并退出 |
:w <文件路径> | 另存为 |
:saveas 文件路径 | 另存为 |
:x | 保存并退出 |
:x | 保存并退出 |
:wq | |
删除 | |
x | 删除光标所在的字符 |
X | 删除光标所在前一个字符 |
Delete | 同x |
dd | 删除整行 (也是剪切) |
dw | 删除一个单词(不适用中文) |
d$或D | 删除至行尾 |
d^ | 删除至行首 |
dG | 删除到文档结尾处 |
d1G | 删除至文档首部 |
其他 | |
. | 重复上一次命令 |
n<命令> | 5x, 3dd 执行指定次数相同的命令 |
:set nu | 显示行号 |
~ | 将光标所在字母变成大写或小写 |
光标快速跳转 | |
nG | 光标移动到第n行 |
gg | 光标移动到第一行 |
G | 光标移动到最后一行 |
w | 下一个单词开头 |
e | 下一个单词的结尾 |
b | 前一个单词开头 |
ge | 前一个单词结尾 |
0或^ | 到行头 |
$ | 到行尾 |
f<字母> | 向后搜索<字母>并跳转到第一个匹配的位置 |
F<字母> | 向前搜索<字母>并跳转到第一个匹配的位置 |
复制及粘贴文本 | |
yy | 复制有表所在整行 (3yy表示复制3行) |
y^ | 复制至行首 |
y$ | 复制至行尾, 含光标所在处字符 |
yw | 复制一个单词 |
y2w | 复制两个单词 |
yG | 复制至文本末 |
y1G | 复制至文本开头 |
p(小写) | 粘贴至光标后(下) |
P(大写) | 粘贴至光标前(上) |
替换和撤销 | |
r + <待替换字母> | |
R | 连续替换, 直到按下Esc |
快速缩进 | |
>> | 整行向右缩进 |
<< | 整行向左回退 |
:set sw=4或者 :set shiftwidth = 8 | 设置缩进和回退的字符数 sw是shiftwidth的简写 |
:set sw? | 查看缩进字符数 |
调整文本位置 | |
:ce | 本行内容居中 |
:ri | 本行文本靠右 |
:le | 本行内容靠左 |
查找 | |
/<字符串> | 向下查找 |
?<字符串> | 向上查找 |
n | 查找下一个 |
N | 查找上一个 |
n和 N | 继续查找命令 |
多文件编辑 | |
vim 1.txt 2.txt | 默认打开1.txt |
:n | 编辑下一个文件 |
:N | 编辑上一个文件 |
:n! 和:N! | 强制切换 |
:e 3.txt | 打开新文件3.txt |
:e# | 返回前一个文件 |
:ls | 列出以前编辑过的文档 |
:b 2.txt | 直接进入文件(或编号)2.txt |
:bd 2.txt | 删除以前编辑过的列表中的文件项目(或编号) |
:e! 4.txt | 新打开文件4.txt, 放弃正在编辑的文件 |
:f | 显示正在编辑的文件名 |
:f new.txt | 改变正在编辑的文件名字为new.txt |
恢复文件(断点或其他未保存文档) | |
vim -r | 进入文档 |
:ewcover 1.txt | 恢复 |
选取 | |
v(小写) | 字符选择, 移动光标, 再次按v取消选取 |
Shift+v | 整行选取 |
Ctrl + v | 矩形选取 |
d | 删除选取区域 |
y | 复制选取区域 |
视窗操作 | |
:new | 打开一个新的vim视窗 |
:new 1.txt | 打开一个新的vim视窗, 命名为1.txt |
:sp 1.txt | 打开新的横向视窗来编辑1.txt |
:vsp 2.txt | 打开新的纵向视窗来编辑1.txt |
ctrl+w s | 将当前窗口分割成两个水平的窗口 |
ctrl+w v | 将当前窗口分割成两个垂直的窗口 |
ctrl+w q | 即 :q 结束分割出来的视窗。如果在新视窗中有输入需要使用强制符!即:q! |
ctrl+w o | 打开一个视窗并且隐藏之前的所有视窗 |
ctrl+w j | 移至下面视窗 |
ctrl+w k | 移至上面视窗 |
ctrl+w h | 移至左边视窗 |
ctrl+w l | 移至右边视窗 |
ctrl+w J | 将当前视窗移至下面 |
ctrl+w K | 将当前视窗移至上面 |
ctrl+w H | 将当前视窗移至左边 |
ctrl+w L | 将当前视窗移至右边 |
ctrl+w - | 减小视窗的高度 |
ctrl+w + | 增加视窗的高度 |