有<!>“;:<!>”;命令,但这是多行,并且argdo再次要求您为每个文件提供文本。

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

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

:argdo put x                 " where x is the register

我希望有像

这样的东西
:argdo append myTextHere
有帮助吗?

解决方案

我不清楚你在哪里尝试将文本插入缓冲区。如果你想在当前行之后:

:argdo exe 'normal osometext'

在其中插入包含换行符的文字:

:argdo exe "normal osometext\<CR>anewline"

其他提示

在第10行之后追加文字:

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

将文字附加到第10行:

:argdo call setline(10, getline(10)."textappended")

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top