gpt4 book ai didi

search - vim 让搜索并用增量替换

转载 作者:行者123 更新时间:2023-12-01 00:14:24 25 4
gpt4 key购买 nike

我想搜索和替换,在这里线程后实现,不幸的是它不起作用。
gVim find/replace with counter

谁能帮我?

在职的

:let n=[0] | %s/|-\n|/\=map(n,'v:val+1')/g

不工作
:let n=[0] | %s/|-\n|/BLABLA\=map(n,'v:val+1')/g

为什么?
我如何屏蔽功能?

例子
{| class="wikitable"
! Number
! Name
! Type
! Default Value
! Duration
! Activation
! Status
! EDIT
|-
|
| Adobe-Dummy-Cart-Total
| Custom Script
|
| Pageview
| Active
| Approved
| Edit
|-
|
| basePrice

我想更换
|-
|


|-
| 1

|-
| 2

最佳答案

当您使用 :help sub-replace-expression ,整个替换必须是 Vimscript 表达式(以 \= 开头)。您不能只在替换文本之前添加(如 BLABLA\=map(n,'v:val+1') 。改用字符串连接。您的 map 方法的一个复杂之处是它返回一个列表,而不是一个字符串,因此我们需要选择该列表的唯一(计数器)元素列表。要引用现有的匹配文本,请使用 submatch(0) 而不是 \0&(或通过在模式末尾使用 \zs 来避免需要引用)。

:let n=[0] | %s/|-\n|/\=submatch(0) . " " . map(n,'v:val+1')[0]/g

关于search - vim 让搜索并用增量替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54398235/

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