Vim - 如何将内部单词粘贴到上面的行?

Spa*_*son 4 vim

我总是使用以下命令来提取内部单词,然后将其粘贴到上面的行中:yiw -> O -> Esc -> p

显然P,它本身(不使用O在上面插入一行)是行不通的,因为没有换行符,所以只是将其粘贴到光标之前。

有没有更简单的方法来做到这一点?

fil*_*den 6

将内容粘贴到单独一行的两个建议:

  1. 您可以使用该:put!命令,因为它始终按行工作。带有 的版本!将寄存器的内容插入到当前行之前(而不是之后)。(您可以将其缩写为:pu!。)

  2. 您可以使用O, Ctrl+ R, ",Esc在上面插入一行,其中包含最新复制的内容。有关+部分,请参阅i_CTRL-R的帮助。是“未命名”寄存器,默认情况下,这是进行复制和删除的地方。这不一定比, ,更“容易” ,但它的优点是它是单个命令,因此可以重复,并且可以立即撤消整个操作。CtrlR"OEscp.

如果这对您来说是一个足够频繁的操作,请考虑为其创建一个映射,这肯定是最容易键入的映射。:-)

  • 我*认为* `[P` 或类似的命令强制逐行放置。(我认为是因为我使用 tpope 的未受损映射该键,并且我不记得确切的原始逐行放置键。) (4认同)
  • 小写 **p** 帮助我将其放在“[p”行上方 (2认同)