Vim完全可以用键盘进行操作。本文将常用的按键归纳总结。
第一部分:一般模式可用的按钮,如光标移动、复制粘贴、查找替换等
移动光标的方法
h, j, k, l |
光标向左,下,上,右移动 |
Ctrl + f / b |
屏幕向下/上移动 |
Ctrl + d / u |
屏幕向下/上移动半页 |
0 |
移动到一行的最前面 |
$ |
移动到一行的最后面字符 |
H / M / L |
移动到屏幕最上方/中央/最下方那一行的第一个字符 |
G |
移动到文件的最后一行 |
nG / ngg |
移动到文件的第n行 |
gg |
移动到文件的第一行 |
n[Enter] |
向下移动n行 |
查找与替换
/word |
向下查找word字符串 |
?word |
向上查找word字符串 |
n |
代表重复前一个查找动作 |
N |
代表反向重复前一个查找动作 |
: s/old/new |
将第一个old替换为new |
: s/old/new/g |
将一行中所有的old替换为new |
:n1, n2s/word1/word2/g |
将行n1与n2之间的word1替换为word2 |
:%s/old/new/g |
将文件所有的old替换为new |
:%s/old/new/gc |
替换前要求确认 |
删除、复制与粘贴
x/X |
向后/前删除一个字符 |
nx |
连续删除n个字符 |
dd |
删除整行 |
ndd |
删除n行 |
d1G |
删除光标所在到第一行数据 |
dG |
删除光标所在到最后一行数据 |
d$ |
删除光标所在到该行最后一个字符 |
d0 |
删除光标所在到该行最前面一个字符 |
yy |
复制光标所在的一行 |
nyy |
向下复制n行 |
y1G |
复制光标所在到第一行数据 |
yG |
复制光标所在到最后一行数据 |
y$ |
复制光标所在到该行最后一个字符 |
y0 |
复制光标所在到该行最前面一个字符 |
p/P |
粘贴数据在光标下/上一行 |
J |
将光标所在行与下一行数据结合成同一行 |
u |
回撤前一操作 |
Ctrl + r |
重做前一操作 |
. |
重复前一个操作 |
第二部分:一般模式切换到编辑模式
进入插入或替换的编辑模式
i, I |
进入插入模式: i从当前光标所在处插入,I在目前所在行的第一个非空格符处插入 |
a, A |
进入插入模式: a从当前光标所在的下一个字符插入,A从光标所在行的最后一个字符后插入 |
o, O |
进入插入模式: o从当前光标所在行的下一行插入新的一行;O正好相反,从上一行插入新行 |
r, R |
进入替换模式: r只会替换光标所在的那一个字符一次;R会一直替换光标所在文字,直到Esc |
块选择
v |
字符选择,将光标经过的地方反白选择 |
V |
行选择,将光标经过的行反白选择 |
Ctrl + v |
块选择,可以用长方形选择数据 |
y |
将反白的地方复制 |
d |
删除反白的地方 |
多窗口
:sp filename |
打开新窗口,如果有加filename,新窗口打开新文件,否则打开相同文件 |
Ctrl + w + s/v |
水平/垂直分割打开新窗口 |
Ctrl + w + h/j/k/l |
光标移动到左/下/上/右窗口 |
Ctrl + w + q |
退出窗口 |
vim常用命令示意图