我cc
或dd
将一行复制到我的粘贴缓冲区中。然后我去一个新地点。
我想替换我看到的一行。所以我输入p
Down dd
.
有没有更简单的方法(更少的击键)?
答案1
您可以键入V
以选择该行,然后p
替换它。
答案2
另一种方法是"_ddp
"_dd
将当前行删除到空缓冲区。这不会覆盖您刚刚复制的内容,我发现这很多次很有帮助!粘贴p
您之前复制的行。
就击键而言可能不会更短,但知道这是一个选项可能会非常有帮助!
答案3
安格斯和托尔已经给出了简短的答案,所以这里有一些额外的探索。
如果由于某种原因您想在粘贴之前删除,您可以利用编号寄存器。寄存器包含最后一次或"0
拉出的文本,但不删除。通过寄存器存储您最近完成的 9 次删除/剪切。所以:y
Y
"1
"9
- 如果你猛拉 with
yy
,你可以替换为dd"0P
。 - 如果用
dd
or剪切cc
,则可以用 替换dd"2P
。 (不是dd"1P
因为dd
填充"1
。)
尝试:help "0
获取更深入的信息。
答案4
假设您想将第 1 行替换为第 3 行,但您无法做到:1m3|2d
这有效地将第 1 行移动到第 3 行,并删除第 2 行(即旧的第 3 行)