Vim基础命令整理
本文按照使用类型对Vim进行分类整理。
删除
单个字符
x
: 删除当前光标下的字符
X
: 删除当前光标前的字符
多个字符
dw
: 删除单词,从光标起始处至下个单词字母开头处,包括中间的所有空格
D
: 删除从光标起始处至行末
dd
: 删除当前行,并跳转至下一行首
换行符
J
: 删除当前行的换行符,并以空格拼接
移动
单个字符
h
: 向左移动
j
: 向下移动
k
: 向上移动
l
: 向右移动
单个词(连续的多个符号[,.:// …]算一个词)
w
: 向右移动至下个词首
e
: 向右移动至下个词末
b
: 向左移动至上个词首
大词(单个换行符、连续的空格或Tab)
W
: 向右移至下个词首
B
: 向左移至上个词首
行内跳转
0
: 光标移动至行首
$
: 光标移动至行末
^
: 光标移动至行首(非空格)
页面跳转
gg
: 光标跳转至文件起始行首部
G
: 光标跳转至文件末行首部
H
: 光标跳转至当前页面起始行首部(非空格)
M
: 光标跳转至当前页面中间行首部(非空格)
L
: 光标跳转至当前页面末行首部(非空格)
:$line_num
: 光标跳转至输入的行号数
翻页 此处的^
相当于Ctrl键
^U
: 向上翻半页
^D
: 向下翻半页
^B
: 向上翻一页
^F
: 向下翻一页
^E
: 屏幕向上滚动一行
^Y
: 屏幕向下滚动一行
插入
i
: 光标前插入
a
: 光标后插入
I
: 行首部插入
A
: 行末尾插入
o
: 当前行下方另起一行插入
O
: 当前行上方另起一行插入
替换
r
: 选中当前光标下的单个字符,只能替换单个字符后并返回命令模式
R
: 选中当前光标下的字符,替换单个字符后保持插入状态
s
: 删除光标下的单个字符后保持插入状态
S
: 删除当前行后保持插入状态
C
: 删除当前行(光标后),并保持输入状态
cw
: 删除一个词,并保持输入状态(w可替换成其他命令,如:s、p等)
查找
全文
/{string}
: 查找所需字符串,并跳转至光标后的第一个匹配处
*
: 查找光标下的单词,并跳转至第一个匹配处
n
: 跳转至下一个匹配处
N
: 跳转至上一个匹配处
单行
t{character}
: 在当前行光标起始处开始查找匹配的字符,光标跳转至第一个匹配项前
f{character}
: 在当前行光标起始处后开始查找匹配的字符,光标跳转至第一个匹配项上
;
: 跳转至下一个匹配项
,
: 跳转至上一个匹配项,若为t
查找结果则光标跳转至匹配项后
匹配替换
:s /{search_str}/{replace_str}/g
: 在当前行查找匹配项并替换
:%s /{search_str}/{replace_str}/g
: 全文查找匹配项并替换
复制粘贴
复制
y
: 复制已选文本区域
yy
: 复制当前行
粘贴
p
: 粘贴已选或刚删除的文本于光标后
P
: 粘贴已选或刚删除的文本于光标前
其他
u
: 撤销上一次操作
Ctrl-r
: 重新执行上一次操作
.
: 重复上次操作,.
前面可以带上数字表示重复次数
v
: 进入视图模式,默认选中当前光标字符,支持单字符选择
V
: 进入视图模式,默认选中当前行,支持行选择