我正在重写一些 Fortran 代码。我需要(*,*)
使用 vim 的搜索和替换功能删除模式。以下不起作用
%s/\<(*,*)\>//gc
%s/\<(*\,*)\>//gc
%s/(*,*)//gc
最后一个仅删除括号之间的内容,而不删除括号本身
答案1
你将不得不逃避*
as \*
。 The 的*
特殊之处在于正则表达式和含义匹配前一个事物零次或多次。
Vim 中的替换是
:%s/(\*,\*)//g
如果您magic
在 Vim 中取消设置该选项,则
:set nomagic
然后仅有的^
(“行首”)和$
(“行尾”)字符在正则表达式中具有特殊含义。
这意味着替代
:%s/(*,*)//g
会做你想做的事。
大多数人确实希望magic
设置该选项(并且在 Vim 中默认设置)。