这是我参与11月更文挑战的第5天,活动详情查看:2021最后一次更文挑战
光标移动命令
上下左右移动
很多人还在使用上下左右进行移动光标。事实上,我更推荐使用 hjkl 进行光标移动。因为在 vim 操作中,我们一般还会要去配合其它命令一起去使用,比如复制、粘贴,这个使用我们使用 hjkl 就会很方便。
-
h
:左移光标 -
l
:右移光标 -
j
:下移光标 -
k
:上移光标
其它移动命令
首先我们来看一下一些基础的移动命令,这些命令可以和其它一些命令配合使用,比如添加、删除等操作。
词、行、首、尾移动命令
-
gg
:光标移动到文档最顶部; -
G
:光标移动到文档最底部; -
w
:光标移动到下一个单词开头(word); -
e
:光标移动到单词末尾(end); -
E
:光标移动到单词末尾(包括标点符号); -
b
:光标移动到单词开头(begin); -
B
:光标移动到单词开头(包括标点符号); -
0
:光标移到到行首; -
$
:光标移动到行尾;
句、段移动命令
-
)
:移至下一个句子的开头(测试只对英文句号.
生效) -
(
:移至上一个句子的开头(测试只对英文句号.
生效) -
}
:移至下一个段落的开头(以空白行分隔,中英文都生效) -
{
:移至上一个段落的开头(以空白行分隔,中英文都生效)
组合命令
删除(剪切)操作
-
dd
:删除整行; -
d$
:从当前光标位置 删除到行尾; -
d0
:从当前光标位置 删除到行首; -
dw
:从当前光标位置 删除到下一个单词开头; -
de
:从当前光标位置 删除到单词末尾; -
dE
:从当前光标位置 删除到单词末尾(带标点符号); -
db
:从当前光标位置 删除到单词开头; -
dB
:从当前光标位置 删除到单词开头(带标点符号); -
dG
:删除当前行到最后一行所有行; -
dgg
:删除当前行到最开始一行所有行;
补充说明:句子、段落移动配合删除命令 d
场景不多,在这里不多介绍。删除当前字符使用 x
命令,删除前一个字符使用 X
命令。
选择、复制、粘贴命令
日常工作中我们经常使用的命令还包括选择(v
)、复制(y
)和粘贴(p
)命令,今天我们看下这些命令如何和光标移动命令组合使用。
选择命令
-
v$
:从当前光标位置 选择到行尾; -
v0
:从当前光标位置 选择到行首; -
vw
:从当前光标位置 选择到下一个单词开头; -
ve
:从当前光标位置 选择到单词末尾; -
vE
:从当前光标位置 选择到单词末尾(带标点符号); -
vb
:从当前光标位置 选择到单词开头; -
vB
:从当前光标位置 选择到单词开头(带标点符号); -
vG
:选择当前行到最后一行所有行; -
vgg
:选择当前行到最开始一行所有行;
复制命令
-
y$
:从当前光标位置 复制到行尾; -
y0
:从当前光标位置 复制到行首; -
yw
:从当前光标位置 复制到下一个单词开头; -
ye
:从当前光标位置 复制到单词末尾; -
yE
:从当前光标位置 复制到单词末尾(带标点符号); -
yb
:从当前光标位置 复制到单词开头; -
yB
:从当前光标位置 复制到单词开头(带标点符号); -
yG
:复制当前行到最后一行所有行; -
ygg
:复制当前行到最开始一行所有行;
粘贴命令
-
p
:在光标位置之后粘贴 -
p
:在光标位置之前粘贴
剪切命令
v
选中 + d
剪切 + p
粘贴
批量插入操作
通过 $
字符,我们可以实现批量在行尾添加相同内容的操作。不过批量在行首插入数据使用字符为 ^
。批量插入命令如下。
1. 在行首添加相同内容
:%s/^/要添加的内容
复制代码
2. 在每行行尾添加相同的内容
:%s/$/要添加的内容
复制代码
页面移动
如果要移动页面而不是光标(注意是页面动,光标不随页面动),则可以使用以下命令:
-
control-d
:向下翻页(Down) -
control-u
:向上翻页(Up) -
control-e
:向下滚动一行 -
control-y
:向上滚动一行
近期评论