gpt4 book ai didi

vim - 获取多行 yank 以粘贴到光标下方

转载 作者:行者123 更新时间:2023-12-04 19:31:08 25 4
gpt4 key购买 nike

我正尝试像这样在 Vim 中粘贴:

    a_1 "Day"
a_2 "Week"
a_neg_1 "Refused"
a_neg_2 "Don’t know"

我复制最后两行并将它们放在前两行之上。像这样:

    a_neg_1 "Refused"
a_neg_2 "Don’t know"
a_1 "Day"
a_2 "Week"

似乎每次我进行多行 yank 时,它总是想将其粘贴到行内。像这样:

    aa_neg_1 "Refused"
a_neg_2 "Don’t know"_1 "Day"
a_2 "Week"

最佳答案

复制+粘贴(或剪切+粘贴)操作(在 Vim 术语中:抽取或删除和放置)由寄存器调节。寄存器可以保存按字符或按行的文本*(参见:help characterwise)。

  • 如果选择“按字符”(y5ly2Wy$v y 等),寄存器将以 character-wise 文本结尾。
  • 如果选择“按行”(y2j, y}, V y,等等),寄存器将保存 line-wise文本。

当您放置寄存器的内容时​​,文本的放置取决于它是按字符还是按行。

  • 当您放置character-wise 文本时,它将紧接在光标位置之后/之前插入。
  • 当您放置逐行文本时,它将被插入光标所在行之后/之前

文本是放在光标位置(它所在的行)之后还是之前由您使用的放置命令控制:

  • p(小写)将文本放在光标之后(或者如果寄存器当前是逐行的,则在它的行之后)
  • P(大写)将文本放在光标之前(如果寄存器当前是逐行的,则放在它的行之前)

简而言之,如何提取/删除如何放置两者会影响最终结果。


根据您的描述,您似乎正在使用 p 来放置字 rune 本(可能是通过 v,或者单击鼠标进行选择).

相反,您应该对逐行文本使用 P(放在前面)。如果您正在进行基于键盘的选择,请使用 V(大写)而不是 v(小写)。如果您正在进行基于鼠标的选择,请在开始选择时进行三击而不是单击。然后,移动到第一行后,猛拉或删除并使用 P 进行最后的“粘贴”。


* 寄存器也可以保存 block 级数据(例如来自 Control-V block 级视觉模式);放置时,它将以 block 方式放置。

关于vim - 获取多行 yank 以粘贴到光标下方,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10987033/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com