在 vim 中拉取多个内部单词

在 vim 中拉取多个内部单词

vim 中的内部和外部单词文本对象与计数结合时表现不同。给定文本(光标在单词内first

first second third fourth

两者y2iw都会将第一个字放入寄存器中,y3iw/y4iw将前两个字放入寄存器中,等等。所以我至少需要y7iw提取所有四个(内部)字。对于外部字,给出的计数与提取的字数相对应。

为什么iw在这种情况下两个对象对应一个单词,我可以iw表现得类似于吗aw

答案1

输入 5 个左右的空格并执行viw:选择 5 个左右的空格,因为iw它们也被视为\s+单独的“对象”。

在您的示例中,您有 7 个iw对象:

  • yiwfirst在未命名的寄存器中进行拉取。
  • y2iwfirst在未命名的寄存器中抽取(带有尾随空格)。
  • y3iw在未命名的寄存器中抽取first second(带有空格)。
  • y4iw在未命名的寄存器中抽取first second(带有空格)。
  • 等等…

另一方面,aw考虑这个词以及任意数量的后续空格作为“对象”。

在您的示例中,您有 4 个aw对象:

  • yawfirst在未命名的寄存器中抽取(带有尾随空格)。
  • y2awfirst second在未命名的寄存器中抽取(带有尾随空格)。
  • y3awfirst second third在未命名的寄存器中抽取(带有尾随空格)。
  • y4awfirst second third fourth在未命名的寄存器中进行拉取。

如果您想要iw表现得像aw只需使用aw

相关内容