gpt4 book ai didi

vim - 如何在编辑文本中将字符串序列创建为特定行?

转载 作者:行者123 更新时间:2023-12-04 14:39:20 25 4
gpt4 key购买 nike

这是初始文本。

test1
test2

正文中只有两行。

我想将字符串序列从第 5 行插入到第 16 行。
我已经用下面的代码试过了。
for i in range(1,12)  
echo ".item".i.","
endfor

1.初始文本。
enter image description here
2.进入命令模式并输入代码

enter image description here

需要解决的两个问题。
1.echo命令输出第一个字符串 .item1在结束之前。
for i in range(1,12)  
echo ".item".i.","

2.如何使用vimscript将字符串序列创建到指定行:从第5行到第16行?

想要的结果如下。

enter image description here

快完成了!
我得到的命令如下 :pu! =map(range(1,12), 'printf(''item%1d'', v:val)') .

他们两个都不能工作。
:5pu! =map(range(1,12), 'printf(''item%1d'', v:val)')
:5,16pu! =map(range(1,12), 'printf(''item%1d'', v:val)')

enter image description here

我想要的格式的最后一个问题是当光标位于第 3 行时,如何创建所需的输出?

最佳答案

为了插入缺失的行,而不插入不需要的空行(-> append() + repeat([''], nb) + 可能的负值 nb )

:let lin = 5 - 1
:call append('$', repeat([''], lin-line('$')))

然后,为了插入您要查找的内容(如果您不想格式化数字,则不需要 printf())
:call append(lin, map(range(1,12), '"item".v:val'))

PS:我宁愿避免 :put我什么时候可以,因为它很难与复杂的表达式一起使用。

关于vim - 如何在编辑文本中将字符串序列创建为特定行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44103829/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com