Loops 如何从vimscript循环中插入文本?

Loops 如何从vimscript循环中插入文本?,loops,vim,while-loop,insertion,Loops,Vim,While Loop,Insertion,从:help文件中可以看到: NOTE: The ":append" and ":insert" commands don't work properly inside a ":while" and ":for" loop. 我可以证实他们没有。但是我应该使用什么从循环中插入文本呢?这些:insert和:append命令主要用于交互使用。在Vimscript中,您可以使用较低级别的setline()和append()函数,这些函数在循环中运行良好。(它们也更易于使用,因为您可以直接将行列表传递

:help文件中可以看到:

NOTE: The ":append" and ":insert" commands don't work
properly inside a ":while" and ":for" loop.

我可以证实他们没有。但是我应该使用什么从循环中插入文本呢?

这些
:insert
:append
命令主要用于交互使用。在Vimscript中,您可以使用较低级别的
setline()
append()
函数,这些函数在循环中运行良好。(它们也更易于使用,因为您可以直接将行列表传递给它们。)

您想做什么?但是听起来很像,你可以把整个字符串构建成一个变量,然后插入该变量的内容。你试过setline()函数吗?如果您只想在while循环中插入文本到缓冲区中,这应该是可行的。否则,您可以在while循环中缓冲文本,然后在循环后插入它们。@FDinoff我刚刚编写了一个函数,可以帮助我在带标题的表达式中从一个参数导航到另一个参数,我希望在重新组织几行长表达式的参数时重用它。我认为处理变量中的整个字符串确实是正确的解决方案。谢谢!:)@塔卡希罗伊:是的,我认为你们都是对的,请毫不犹豫地发布答案。:)这就成功了,也改变了我的人生哲学:谢谢^