真的很困惑,我没想到会问这个问题,但这里。
在侧VIM中,并且仅在VIM中,我想执行全局搜索和替换。我的目标文本是:
51099 analgesic
43045 analgesic
70145 analgesic
52338 analgesic
41214
55309
34373
47003
50659
51327
这会持续数千行。对于所有没有以“\tanalgesic”结尾的行(注意制表符),我希望保留行号并插入“\tanalgesic”。我尝试了几种方法,但都不起作用(显然)。
在VIM之外(在一个通用的正则表达式检查器中),[0-9]+$查找所有**“一个或多个数字和行尾”**“的示例。在VIM内,这不起作用(:/将被添加来表示进入命令模式,然后“/”进行搜索)。我很困惑为什么会出现这种情况。
虽然这不起作用,但我希望解决方案看起来类似:
:%s/[0-9]+$/(1)\tanalgesic/g
1条答案
按热度按时间5t7ly7z51#
例如,您可以将vim very magic mode与
\v
一起使用使用
\1
作为对组1的反向引用。该命令没有非常神奇的模式,带有转义括号表示组,转义加号表示量词:
产出
有关详细信息,请参见http://vimregex.com/。