我有以下简单文字:
one
a line
more lines
more text
end
我想在>>中附上每一行和<<使用正则表达式。以下单独工作:
:%s/^/>>/g
:%s/$/<</g
但是,如何使用一个命令执行此操作。我试过跟随,但他们不工作:
:%s/^([.]+)$/>>\1<</g
:%s/\v^([.]+)$/>>\1<</g
:%s/([.]+)/>>\1<</g
感谢您的帮助。
答案 0 :(得分:3)
:%s/.*/>>&<</
&
表示matched whole part
。并且不需要g
标志。
答案 1 :(得分:2)
尝试使用以下内容:
:%s/^\(.*\)$/>>\1<</g
我发现您当前的尝试存在问题,例如:
:%s/^([.]+)$/>>\1<</g
使用[.]
时,您正在匹配文字点,这是一个字符类。毫无疑问,大多数情况下这种模式不会匹配任何一条线,除非它完全由点组成。
此外,括号需要在Vim正则表达式中进行转义。