Vim 高级操作
这里只是列举了常用的部分,更多操作需在实践中练习。
概念
1. 数量参数
在操作前输入一个数字 n
,会重复该操作 n 次。
比如 5l
,相当于按了 5 次 l
,可右移 4 个字符。
2. Vim 命令模式
命令 文本对象
比如命令可以是 c d y,文本对象可以是 w 2b 等。
3. 重复命令
.
重复执行相同的命令
4. 撤销命令
u
撤销执行刚才的命令
更多移动
1. 行内移动
0
移动到行首
$
移动到行尾最后一个字符前
移动到行尾时,如果设置了软换行 wrapmargin(如::set wm=10
),则移动到逻辑行行尾,而不是屏幕行的行尾。
2. 文本块移动
G
移动到特定行
还可以按单词、句子、段落、节(section)来移动
w
前移一个词(字母数字以外的字符分割)
W
前移一个词(空格分割)
b
移动到行首(字母数字以外的字符分割)
B
移动到行首(空格分割)
e
移动到单词结尾(字母数字以外的字符分割)
E
移动到单词结尾(空格分割)
(
移动到句首
)
移动到下句首
{
移动到段首
}
移动到下段首
[[
移动到节首
]]
移动到下节首
3. 屏幕滚动
CTRL-F
向前滚屏
CTRL-B
向后滚屏
CTRL-D
向前滚半屏
CTRL-U
向后滚半屏
z ENTER
屏幕居中
更多编辑
1. 两种进入编辑模式的方式
i
以 insert 方式进入编辑模式,光标在当前字符前
a
以 append 方式进入编辑模式,光标在当前字符后
2. 修改文本
c0
修改光标到行首
c$
修改光标到行尾
cw
修改光标到单词结尾
c2b
修改光标到后两个单词
cc
修改整行
3. 删除文本
d0
删除光标到行首
d$
删除光标到行尾
dw
删除光标到单词结尾
dW
删除光标到单词结尾,含空格
d2b
删除光标到后两个单词
dd
删除本行
3dd
删除三行
4. 放置文本
可理解为粘贴。
删除寄存器:删除的文本对象进入了删除寄存器
p
从删除寄存器获取最后删除的对象,放置在光标处
y
复制文本
5. 合并行
J
合并两行。可以按 .
反复操作。