在vim中,如何使用argdo追加/插入文本?
题
有<!>“;:<!>”;命令,但这是多行,并且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 "
不隶属于 StackOverflow