有“:a”命令,但这是多行的,argdo再次要求你为每个文件提供文本。
文档提到了全局命令(g / pat / command),它将使用替换版本的“:a”,它由换行符而不是“。”终止。在一行(您可以通过“\”转义它们来包含换行符)。但我无法让它发挥作用。
我看到的唯一方法是首先将要添加的文本添加到命名寄存器中,然后使用:
:argdo put x " where x is the register
我希望像
这样的东西:argdo append myTextHere
答案 0 :(得分:4)
我不清楚你在哪里尝试将文本插入缓冲区。如果你想在当前行之后:
:argdo exe 'normal osometext'
在其中插入包含换行符的文字:
:argdo exe "normal osometext\<CR>anewline"
答案 1 :(得分:2)
在第10行之后追加文字:
:argdo call append(10, "hello world")
将文字附加到第10行:
:argdo call setline(10, getline(10)."textappended")
答案 2 :(得分:1)
在vim中缓存文本会将其放在默认缓冲区中,即"
。您可以在插入模式下粘贴该缓冲区,例如键入<C-R>"
。所以你需要的只是argdo put "