6

有 ":a" 命令,但它是多行的,并且 argdo 会再次要求您输入每个文件的文本。

文档提到了全局命令(g/pat/command),它将使用“:a”的替代版本,该版本由换行符而不是“。”终止。在一行上(您可以通过用“\”转义来包含换行符)。但我无法让它发挥作用。

我见过的唯一方法是首先将要添加的文本拉到命名寄存器中,然后使用:

:argdo put x                 " where x is the register

我希望有类似的东西

:argdo append myTextHere
4

3 回答 3

5

我不清楚您要在缓冲区中的何处插入文本。如果你想要它在当前行之后:

:argdo exe 'normal osometext'

插入带有换行符的文本:

:argdo exe "normal osometext\<CR>anewline"
于 2009-06-23T17:34:32.070 回答
2

在第 10 行之后附加文本:

:argdo call append(10, "hello world")

要将文本附加到第 10 行:

:argdo call setline(10, getline(10)."textappended")
于 2009-06-24T12:17:47.410 回答
1

在 vim 中拖动文本会将其放入默认缓冲区,即". 您可以在插入模式下粘贴该缓冲区,例如通过键入<C-R>". 所以你只需要argdo put "

于 2009-06-23T16:23:37.017 回答