Vim 如何用“和”号替换&&引用;在维姆?

Vim 如何用“和”号替换&&引用;在维姆?,vim,vi,Vim,Vi,正如标题所说。我想用符号(&)替换,比如“制表符” 我使用: :%s/\t/&/g 当然,这是行不通的。我在MacOSX上使用vim(如果这有区别的话)。谢谢 你确定问题出在符号上吗?我收到了更多关于账单的投诉。别忘了逃避它 :%s/\t/\&/g与符号有关的问题是它是一个。正则表达式替换部分中的&字符表示“表达式匹配部分中匹配的所有内容” 例如,如果您有一个包含以下行的文件: The quick brown fox jumps over the lazy dog. The quic

正如标题所说。我想用符号(&)替换,比如“制表符”

我使用:

:%s/\t/&/g

当然,这是行不通的。我在MacOSX上使用vim(如果这有区别的话)。谢谢

你确定问题出在符号上吗?我收到了更多关于账单的投诉。别忘了逃避它


:%s/\t/\&/g

与符号有关的问题是它是一个。正则表达式替换部分中的
&
字符表示“表达式匹配部分中匹配的所有内容”

例如,如果您有一个包含以下行的文件:

The quick brown fox jumps over the lazy dog.
The quick brown fox ajumpsb over the lazy dog.
执行vi命令,如
:s/jumps/a&b/
,将产生以下行:

The quick brown fox jumps over the lazy dog.
The quick brown fox ajumpsb over the lazy dog.
您可以使用
:s/\(jumps\)/a\1b/
做同样的事情,但这需要更多的输入

除了在简单匹配表达式中作为别名(例如,
\1
)之外,为什么(&C)很有用?嗯,你也可以这样做:
:s/lazy\(dog\|cat\)/“&”现在是“dumby\1”/


如果
&
不可用,表达式将变得非常难看。

:help sub replace special
将显示替换中的所有特殊序列。请注意,
'magic'
是默认设置的,用于那些基于该选项具有不同行为的人。是的,与是问题所在。逃离它成功了!符号将替换查询。它与正则表达式一起使用非常方便。假设您想用括号括起所有三位数字,您可以这样做
:%s/[0-9]\{3}/(&)/g
,这在替换
&
&
我以为某个autocmd试图强制使用有效的html!我可能应该在这个答案中加上“并且你必须用一个前导\,像这样:
:%s/\t/\&/g