Vim 避免复制和粘贴过程中的换行麻烦

Vim 避免复制和粘贴过程中的换行麻烦,vim,Vim,假设我有这样的东西(我用$显示换行符(新行)) 我的目标是复制line1并将其粘贴到空行中(尽可能快),使其看起来像这样 This is line1$ This is line2$ This is line1$ This is line3$ 不幸的是,我无法做到这一点。这就是我到目前为止所尝试的 在正常模式下,光标位于第1行,我按V键。因此,选择整行,包括(换行)$。然后,在正常模式下,我按下“”* y y/代码>,移动到空白行,按“*p,结果得到”。 This is line1$ This

假设我有这样的东西(我用$显示换行符(新行))

我的目标是复制line1并将其粘贴到空行中(尽可能快),使其看起来像这样

This is line1$
This is line2$
This is line1$
This is line3$
不幸的是,我无法做到这一点。这就是我到目前为止所尝试的 在正常模式下,光标位于第1行,我按V键。因此,选择整行,包括(换行)$。然后,在正常模式下,我按下“<代码>”* y y/代码>,移动到空白行,按“*p,结果得到

”。
This is line1$
This is line2$
$
This is line1$
This is line3$
然后我试着按“*p,我得到

This is line1$
This is line2$
This is line1$
$
This is line3$
如何轻松复制和粘贴以获得结果

This is line1$
This is line2$
This is line1$
This is line3$

我知道我可以在空行上按dd来删除它,但是我想知道是否有更有效的方法来执行此操作(接近我正在执行的操作)

使用
yy
复制所需的行。将光标移动到空行上并运行

Vp

要直观地选择整行内容并粘贴替换部分的内容。

要完成所需内容,请首先将光标放在第1行的开头,然后按:

[shift]y
[shift]p

然后在第2行下面的光标移动到空白行的开头,按:

[shift]y
[shift]p

基本上,
[shift]y
(正常大写y)复制到行尾,并且
[shift]p
(正常大写p)粘贴到当前位置。尝试一下,如果有问题,请告诉我。

无需移动光标,您可以使用以下构造

1t2|norm gJ
在哪里

仅适用于ex命令:

/^$/d|1t-

/^$/d    " jump to next empty line and delete it
1t-      " copy the first line above the current line

显然前两行是粘贴的。我只想要第一行。你能解释一下命令是什么吗do@Rajeshwar
yy
复制当前行。
V
目视选择当前行。
p
粘贴复制的行。(这不应该复制两行。您可能会点击复制当前行和下一行的
yj
),但这不起作用。当我按下时,输出与第二行相同“*哦!我尝试了您的精确设置,并确认它按照您的预期工作。我想知道您的
vimrc
设置是否导致问题。您是否尝试过
y$
,然后在空行上执行
p