光标移动
命令 |
说明 |
h |
向左移动 |
l |
向右移动 |
k |
向上移动 |
j |
向下移动 |
w |
移动到上一个单词 |
b |
移动到下一个单词 |
进入插入模式
命令 |
说明 |
i |
光标前插入 |
I |
整行前插入 |
a |
光标后插入 |
A |
整行后插入 |
o |
当前行下另起一行插入 |
O |
当前行上另起一行插入 |
cw |
光标到单词末尾删去并插入 |
保存模式
命令 |
说明 |
:w |
加回车可以保存;后边加路径可以另存为 |
:x |
保存并退出 |
:wq |
保存并退出 |
:wq! |
强制保存并退出 |
:q |
退出 |
:q! |
强制退出,不保存 |
:saveas |
后加路径另存为 |
删除文本
命令 |
说明 |
x |
删除游标所在字符 |
X |
删除游标所在字符的前一个字符 |
dw |
删除游标所在位置到当前单词末尾(可与cw对比记忆) |
dd |
删除当前行,前可加倍数 |
d^ |
删除到行首(不包含游标所在字符) |
d$或者D |
删除到行尾(包含游标所在字符) |
dG |
删除到文档末尾 |
d1G |
删除到文档末尾 |
重复命令
命令 |
说明 |
. |
重复上一次操作 |
数字+操作 |
执行若干次操作 |
跳转操作(行数需要用命令 :set nu 显示)
命令 |
说明 |
数字+G |
跳转到第N行 |
gg |
跳转到第一行 |
G |
跳转到最后一行 |
ctrl+o |
跳转到光标上一次位置 |
行内操作
命令 |
说明 |
w |
跳转到下一个单词开头 |
e |
跳转到下一个单词末尾 |
b |
跳转到上一个单词开头 |
ge |
跳转到上一个单词末尾 |
0或^ |
跳转到行首 |
$ |
跳转到行尾 |
~ |
大小写转换 |
f + 搜索字符 |
向后跳转到第一个匹配到字符 |
F+ 搜索字符 |
向前跳转到第一个匹配到字符 |
t+ 搜索字符 |
向后跳转到第一个匹配到字符的前一个字符 |
T+ 搜索字符 |
向前跳转到第一个匹配到字符后一个字符 |
查询
命令 |
说明 |
/ +字符(按回车) |
向下查找字符 |
? +字符(按回车) |
向上查找字符 |
n |
继续查找下一个字符 |
N |
反向继续查找下一个字符 |
* |
向下查找游标所在单词 |
g* |
向下查找游标所在单词(模糊查找,包含即可) |
# |
向上查找游标所在单词 |
g# |
向上查找游标所在单词(模糊查找,包含即可) |
复制粘贴
命令 |
说明 |
y |
复制光标所在字符 |
yy |
复制光标所在行 |
y^ |
复制光标到行首 |
y$ |
复制光标到行尾 |
yw |
复制光标所在字符到单词的结尾 |
y+数字+w |
复制光标所在字符到第n个单词的结尾 |
yG |
复制到文档结尾 |
y1G |
复制到文档开头 |
p |
粘贴到光标后 |
P |
粘贴到光标前 |
替换和撤销
命令 |
说明 |
r +替换字符 |
替换光标所在字符 |
R |
连续替换直到按下esc |
cc |
删除整行并进入插入模式 |
cw |
光标到单词末尾删去并进入插入模式 |
C |
替换光标到行尾并进入插入模式 |
u (+次数) |
撤销 |
U |
撤销当前行所有修改 |
Ctrl + r |
redo,撤销undo的操作 |
缩进设置
命令 |
说明 |
:set shiftwidth? |
查看缩进字符 |
:set shiftwidth=数字 |
设置缩进字符 |
>> |
向右缩进 |
<< |
向左缩进 |
调整文本位置
命令 |
说明 |
:le |
本行文本左对齐 |
:ce |
本行文本居中 |
:ri |
本行文本右对齐 |
多文件编辑
vim 1.txt 2.txt 默认进入1.txt,用:n可以切换到2.txt,然后再:N可以切换到1.txt,命令后加!强制切换。
命令 |
说明 |
:e(若加!即放弃正在编辑的文件) +文件名 |
打开另一个文件 |
:e# |
回到前一个文件 |
:ls |
列出当前编辑的所有文件 |
:b+文件名 |
打开文件列表中的文件 |
:bd +文件名 |
删除文件列表中的文件(并不删除源文件) |
:f |
显示当前文件名 |
:f + 文件名 |
更改文件名 |
可视模式
选择后配合d 和 y,p 可以删除和复制,粘贴。
命令 |
说明 |
v |
进入可视模式 |
shift +v |
行选择 |
ctrl+v |
块选择模式 |
VIM视窗
命令 |
说明 |
:sp +文件名 |
打开新的水平视窗 |
:vsp+文件名 |
打开新的垂直视窗 |
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 + |
增加视窗的高度 |
其它
vim -x +文件名可以加密
:!ls 用于显示当前目录的内容
:!rm FILENAME用于删除名为 FILENAME 的文件
:w FILENAME可将当前 VIM 中正在编辑的文件另存为 FILENAME 文件