vimの基本的な操作について中国語でまとめます。
文件命令 |
动作 |
:open file |
在vim窗口中打开一个新文件 |
:split file |
在新窗口中打开文件 |
:bn |
切换到下一个文件 |
:bp |
切换到上一个文件 |
:e ftp://xxx.xxx.xxx.xxx/... |
打开远程文件 |
插入命令 |
动作 |
i |
在当前位置插入 |
I |
在当前行首插入 |
a |
在当前位置后插入 |
A |
在当前行尾插入 |
o |
在当前行之后插入一行 |
O |
在当前行之前插入一行 |
移动命令 |
动作 |
h |
左移一个字符 |
l |
右移一个字符 |
k |
上移一个字符 |
j |
下移一个字符 |
以上四个移动命令(h,l,k,j)可以配合数字使用,比如20j就是向下移动20行,5h就是向左移动5个字符,在Vim中,很多命令都可以配合数字使用,比如删除10个字符10x,在当前位置后插入3个!,3a!,这里的Esc是必须的,否则命令不生效。
移动命令 |
动作 |
w |
向前移动一个单词 |
b |
向后移动一个单词 |
e |
同w,只不过是光标停在单词尾部 |
ge |
同b,光标停在单词尾部 |
^ |
移动到本行第一个非空白字符上 |
0 |
移动到本行第一个字符上 |
$ |
移动到行尾 |
3$ |
移动到下面3行的行尾 |
gg |
移动到文件头 |
G |
移动到文件尾 |
f |
fx将找到光标后第一个为x的字符,3fd将找到第三个为d的字符 |
F |
同f,反向查找 |
跳到指定行,冒号+行号,回车,比如跳到240行就是 :240回车。另一个方法是行号+G,比如230G跳到230行。
移动命令 |
动作 |
ctrl + e |
向下滚动一行 |
ctrl + y |
向上滚动一行 |
ctrl + d |
向下滚动半屏 |
ctrl + u |
向上滚动半屏 |
ctrl + f |
向下滚动一屏 |
ctrl + b |
向上滚动一屏 |
撤销和重做命令 |
动作 |
u |
撤销 |
U |
撤销对整行的操作 |
ctrl + r |
重做 |
删除命令 |
动作 |
x |
删除当前字符 |
5x |
删除当前光标开始向后三个字符 |
X |
删除当前字符的前一个字符。X=dh |
dl |
同x |
dh |
同X |
dd |
删除当前行 |
dj |
删除上一行 |
dk |
删除下一行 |
d10 |
删除当前行开始的10行 |
D |
删除当前字符至行尾。D=d$ |
d$ |
同D |
kdgg |
删除当前行之前所有行(不包括当前行) |
jdG |
删除当前行之后所有行(不包括当前行) |
:1,10d |
删除1-10行 |
J |
删除两行之间的空行,实际上是合并两行 |
拷贝和粘贴命令 |
动作 |
yy |
拷贝当前行 |
2yy |
拷贝当前行及其下一行 |
p |
在当前光标后粘贴,如果之前使用了yy命令来复制一行,那么就在当前行的下一行粘贴 |
shift+p |
在当前行前粘贴 |
ddp |
交换当前行和其下一行 |
xp |
交换当前字符和其后一个字符 |
退出命令 |
动作 |
:wq |
保存并退出 |
ZZ |
保存并退出 |
:q! |
强制退出并忽略所有更改 |
:e! |
放弃所有修改,并打开原来文件 |