Vim 中的点命令重复“最后的更改”,但我不太确定“最后的更改”是什么。例如,如果我输入序列:
A;{ESC}j。
然后一个分号被附加到当前行,但我必须再次输入“j”。
换句话说,点宏只执行“A;{ESC}”,因此显然 ESC 定义了“最后更改”的结束。为什么它不包括“j”?
答案1
更改是修改当前缓冲区中文本的任何命令。您将找到下面列出的所有命令:help change.txt
。在插入模式下,更改进一步限于连续输入的字符序列,即,如果您使用光标键进行导航(您不应该这样做),则只会重复最后键入的部分。
像这样的命令j
是动议;即它们不影响文本,而只是移动光标。那些是不重复。如果您想重复多项更改或移动和更改的组合,请将步骤记录到宏(例如qaA;<Esc>jq
),然后重复(@a
)。