Vim 是否可以同时将视觉选择的内容放入寄存器并替换所有字符?

Vim 是否可以同时将视觉选择的内容放入寄存器并替换所有字符?,vim,Vim,考虑以下文本文件 Replace and yank this portion Ignore this portion 假设我已经直观地选择了显示为“替换”的零件,并将该零件拉下 此时,我可以采取以下操作之一 我可以使用y将内容拉入寄存器,但这会破坏视觉选择 我可以使用rx将每个字符替换为x,但这也会破坏视觉选择 是否可以同时将视觉选择放入寄存器,并将视觉选择中的每个字符替换为x? 也就是说,我正在寻找一系列命令,这些命令导致所选文本位于寄存器中,并且所选文本中的每个字符都被x替换。我对哪个寄存

考虑以下文本文件

Replace and yank this portion Ignore this portion
假设我已经直观地选择了显示为“替换”的零件,并将该零件拉下

此时,我可以采取以下操作之一

  • 我可以使用
    y
    将内容拉入寄存器,但这会破坏视觉选择
  • 我可以使用
    rx
    将每个字符替换为
    x
    ,但这也会破坏视觉选择
  • 是否可以同时将视觉选择放入寄存器,并将视觉选择中的每个字符替换为
    x


    也就是说,我正在寻找一系列命令,这些命令导致所选文本位于寄存器中,并且所选文本中的每个字符都被
    x
    替换。我对哪个寄存器不挑剔。

    发布这个问题后,我立即意识到我所需要的只是能够重新选择刚刚选择的文本

    谷歌的快速搜索导致了重新选择的使用


    因此,实现所需效果的最终命令序列是
    ygvrx
    。这将首先将序列拉入寄存器,重新选择上一个选择,然后替换字符。

    发布此问题后,我立即意识到我所需要的是能够重新选择刚刚选择的文本

    谷歌的快速搜索导致了重新选择的使用


    因此,实现所需效果的最终命令序列是
    ygvrx
    。这将首先将序列拉入寄存器,重新选择上一个选择,然后替换字符。

    目视选择文本,然后按
    c
    进行更改。键入所需文本,然后按
    。以前存在的文本(在本例中为
    替换并拖动此部分
    )现在位于您的
    “”
    注册表中,因此只要您想粘贴它,就可以点击
    p


    键入
    :h reg
    查看所有寄存器的列表以及寄存器中的文本。

    目视选择文本,然后按
    c
    进行更改。键入所需文本,然后按
    。以前存在的文本(在本例中为
    替换并拖动此部分
    )现在位于您的
    “”
    注册表中,因此只要您想粘贴它,就可以点击
    p


    键入
    :h reg
    查看所有寄存器的列表以及寄存器中的文本。

    或者,您可以将替换文本保存在寄存器中(例如
    让@a=“some text”
    ),然后目视选择
    替换并拖动此部分
    ,然后键入
    “ap
    @Sergio,目标是不必为了将文本放入寄存器而重新键入文本。或者,您可以将替换文本保存在寄存器中(例如,
    let@a=“some text”
    ),然后目视选择
    Replace并拖动此部分
    ,然后键入
    “ap
    @Sergio,目标是不必为了将文本放入寄存器而重新键入文本。这不太有效,因为这意味着我必须事先知道视觉选择中有多少个字符,以便输入适当数量的x。”。替换每个字符的愿望意味着我使用的命令或命令集与字符数无关。从你的问题来看,这个要求并不明显。我的解决方案会替换所有字符,它不一定会将每个字符替换为另一个字符,但它会将所有字符替换为您键入的字符数;我试图用问题中的步骤2)来说明问题,但我想这不够明确。这不太有效,因为这意味着我必须事先知道视觉选择中有多少个字符,这样我才能输入适当数量的x。替换每个字符的愿望意味着我使用的命令或命令集与字符数无关。从你的问题来看,这个要求并不明显。我的解决方案会替换所有字符,它不一定会将每个字符替换为另一个字符,但它会将所有字符替换为您键入的字符数;我曾试图用问题中的步骤2)来说明问题,但我想这还不够明确。