假设我有以下文字(为了清晰起见,我对行进行了编号),光标位于第5行的开头:
1
2 var x = 1;
3 var y = 2;
4
5 if (true) {
6 print("Hey!");
7 }
好的,现在我尝试削减第5,6,7号线(所有这些都是“if”thingy)。为此我做:
Vjjd
。现在看来我在第4行的开头,这是一个空字符串。
我的问题:此时是否可以移除第4行而不会丢失之前复制的第5,6,7行(即“if”thingy),以便我能够比如说,在第一行之后将它们粘贴到其他地方?
答案 0 :(得分:19)
你总是可以使用“n”来抽取或删除到寄存器中,其中n几乎是任何键。请参阅“帮助寄存器”中的可用寄存器列表,其中一些具有特殊含义。例如,您可以执行以下操作:
> "a3dd (to delete the last three lines into a register called a)
> dd (to delete the blank line)
> "ap (to paste the a register)
您还可以使用Vjj“广告,以匹配您在原始问题中所做的事情。
答案 1 :(得分:7)
是:您可以使用黑洞 buffet 注册:输入"_dd
答案 2 :(得分:3)
如果您的#4行空行,则很容易,您不必使用注册。只是做:
kJ
意思是:
k: move to #3
J: (shift-J) Join #3 and #4
或者您更喜欢在INSERT
模式下执行此操作。
i<BS>
或
I<c-u>
如果该行不为空:
说,现在你刚刚做了3dd
(没有命名寄存器),光标在非空行(#4)上,你可以直接做dd
。 3条线没有消失。您可以通过以下方式再次粘贴它们:
"2p