Vim:更换管路末端
在Vim中,如何用拉下的文本替换行的剩余部分?如果我按“D”,被拖动的文本将被删除的文本替换Vim:更换管路末端,vim,Vim,在Vim中,如何用拉下的文本替换行的剩余部分?如果我按“D”,被拖动的文本将被删除的文本替换 还有,怎么可能猛拉到队伍的尽头?如果我按“Y”,它将拉动整行。按v在选择的起始字符上进入视觉模式。然后点击$转到该行的末尾。之后,点击y以拖动所选内容 y$ - yank to end of line 因此: v$y 使用p粘贴,而不是猛拉。这将粘贴到所选内容上。因此,在使用D删除某些文本后,请执行以下操作: v$p 这会将删除的文本粘贴到所选内容上。有两种方法可以将行尾的文本替换为先前拖动的文本:
还有,怎么可能猛拉到队伍的尽头?如果我按“Y”,它将拉动整行。按
v
在选择的起始字符上进入视觉模式。然后点击$
转到该行的末尾。之后,点击y
以拖动所选内容
y$ - yank to end of line
因此:
v$y
使用p
粘贴,而不是猛拉。这将粘贴到所选内容上。因此,在使用D
删除某些文本后,请执行以下操作:
v$p
这会将删除的文本粘贴到所选内容上。有两种方法可以将行尾的文本替换为先前拖动的文本:
v$p
-v
进入可视模式<代码>$移动到行尾p
粘贴到突出显示的文本上D“0p
-最后一次拖动(而不是删除)的文本存储在寄存器0中,因此:D
删除到行尾;“0
选择寄存器0p
粘贴该寄存器在这一点上,您的问题似乎得到了其他人的彻底回答(
v$p
和y$
),但我想补充一条信息:
要拉到行尾,默认方式是y$
。但是,在.vimrc
中映射Y$是一种相当常见的做法,因为Y
的默认行为与yy
是冗余的,并且与其他映射不一致,如D
和C
,我将这样做:
“ay$
(从光标到行尾用力拉入寄存器a
)D
(删除到行尾)“ap
(粘贴步骤1中拖动的文本)诚然,这与非常相似,但我更喜欢显式地指定寄存器,因为它迫使我思考我在做什么。如果我分心或试图做其他事情,我可能会意外地覆盖寄存器
0
。如果您想删除文本而不影响主(未命名)寄存器,请将文本删除到名为“\uu
的“黑洞寄存器”中。通过”\u D
执行此操作。然后,未命名的寄存器将不受影响,您可以像正常情况一样粘贴先前拖动的文本
请参见
:h quote
哦,对不起,我以为你的意思是按v$y猛拉。是的,这很有效,谢谢。谢谢你的评论,它非常有用。我将把它添加到我的.vimrc:)是的,我也不知道注册评论。是否仍要选择两个答案作为接受答案?:)