意外的搜索和替换行为 - Neovim

意外的搜索和替换行为 - Neovim

所以我有一堆带有这个标题的 LaTex 表:

Signal Name & Value & Time & Notes

我想用这个标题替换:

Signal Name     & Value & Time ($\si{\nano\second}$)    & Duration ($\si{\nano\second}$)    & Notes

所以我写了这个命令:

:%s/Signal Name & Value & Time & Notes/Signal Name\t& Value\t& Time($\\si{\\nano\\second}$)\t& Duration ($\\si{\\nano\\second}$)\t& Notes/g

但由于某种我不明白的原因,它会产生以下输出:

Signal Name Signal Name & Value & Time & Notes Value    Signal Name & Value & Time & Notes Time($\si{\nano\second}$)    Signal Name & Value & Time & Notes Duration ($\si{\nano\second}$)   Signal Name & Value & Time & Notes Notes

这是怎么回事?我该如何解决?

答案1

在替换命令的替换文本中,&表示匹配的文本。如果您想替换为文字与符号,请使用\&

这应该可以解决问题:

:%s/Signal Name & Value & Time & Notes/Signal Name\t\& Value\t\& Time($\\si{\\nano\\second}$)\t\& Duration ($\\si{\\nano\\second}$)\t\& Notes/g

相关内容