如果重复执行p
或使用count,光标位置会发生变化。
考虑以下文字:
hello
~
~
将光标放在单词上,我执行Y
,然后手动执行p
4次,光标位于最后一行
hello
hello
hello
hello
hello <- cursor is here
但是,如果在第一行执行Y4p
,则光标在第二行
hello
hello <- cursor is here
hello
hello
hello
这是设计使然吗?功能不应该与手动执行和使用count完全相同吗?顺便说一句,它可以像P
一样正常工作。
答案 0 :(得分:1)
p
和P
粘贴整行时的行为是将光标置于刚粘贴的内容的开头。在每种情况下,这都是发生的情况:当您击中p
4次时,您每次都将光标移动到新粘贴的行的开头;当您按下4p
时,光标位于粘贴的块的开头。
我同意,如果您要以脚本方式使用这些命令,可能不是最好的做法,但这不是错误。
如果粘贴部分行,则会发现相反的行为:p
和P
将光标留在新粘贴的文本的末尾,这意味着4x {p
和4p
的行为相同,但是4x {P
和4P
的行为却不一样! (它们甚至不会产生相同的结果,更不用说将光标放在同一位置了...)
无论如何,所有这些都是在粘贴操作之后合理选择您通常希望的位置的结果。