Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vim:更换管路末端_Vim - Fatal编程技术网

Vim:更换管路末端

Vim:更换管路末端,vim,Vim,在Vim中,如何用拉下的文本替换行的剩余部分?如果我按“D”,被拖动的文本将被删除的文本替换 还有,怎么可能猛拉到队伍的尽头?如果我按“Y”,它将拉动整行。按v在选择的起始字符上进入视觉模式。然后点击$转到该行的末尾。之后,点击y以拖动所选内容 y$ - yank to end of line 因此: v$y 使用p粘贴,而不是猛拉。这将粘贴到所选内容上。因此,在使用D删除某些文本后,请执行以下操作: v$p 这会将删除的文本粘贴到所选内容上。有两种方法可以将行尾的文本替换为先前拖动的文本:

在Vim中,如何用拉下的文本替换行的剩余部分?如果我按“D”,被拖动的文本将被删除的文本替换


还有,怎么可能猛拉到队伍的尽头?如果我按“Y”,它将拉动整行。

v
在选择的起始字符上进入视觉模式。然后点击
$
转到该行的末尾。之后,点击
y
以拖动所选内容

y$ - yank to end of line
因此:

v$y

使用
p
粘贴,而不是猛拉。这将粘贴到所选内容上。因此,在使用
D
删除某些文本后,请执行以下操作:

v$p


这会将删除的文本粘贴到所选内容上。

有两种方法可以将行尾的文本替换为先前拖动的文本:

  • v$p
    -
    v
    进入可视模式<代码>$移动到行尾
    p
    粘贴到突出显示的文本上
  • D“0p
    -最后一次拖动(而不是删除)的文本存储在寄存器0中,因此:
    D
    删除到行尾;
    “0
    选择寄存器0
    p
    粘贴该寄存器

  • 在这一点上,您的问题似乎得到了其他人的彻底回答(
    v$p
    y$
    ),但我想补充一条信息:

    要拉到行尾,默认方式是
    y$
    。但是,在
    .vimrc
    中映射Y$是一种相当常见的做法,因为
    Y
    的默认行为与
    yy
    是冗余的,并且与其他映射不一致,如
    D
    C
    ,我将这样做:

  • “ay$
    (从光标到行尾用力拉入寄存器
    a
  • 将光标移动到所需的替换位置
  • D
    (删除到行尾)
  • “ap
    (粘贴步骤1中拖动的文本)

  • 诚然,这与非常相似,但我更喜欢显式地指定寄存器,因为它迫使我思考我在做什么。如果我分心或试图做其他事情,我可能会意外地覆盖寄存器
    0

    如果您想删除文本而不影响主(未命名)寄存器,请将文本删除到名为
    “\uu
    的“黑洞寄存器”中。通过
    ”\u D
    执行此操作。然后,未命名的寄存器将不受影响,您可以像正常情况一样粘贴先前拖动的文本


    请参见
    :h quote

    哦,对不起,我以为你的意思是按v$y猛拉。是的,这很有效,谢谢。谢谢你的评论,它非常有用。我将把它添加到我的.vimrc:)是的,我也不知道注册评论。是否仍要选择两个答案作为接受答案?:)