vim 搜索和替换命令将 `(*,*)` 替换为空

vim 搜索和替换命令将 `(*,*)` 替换为空

我正在重写一些 Fortran 代码。我需要(*,*)使用 vim 的搜索和替换功能删除模式。以下不起作用

%s/\<(*,*)\>//gc
%s/\<(*\,*)\>//gc
%s/(*,*)//gc 

最后一个仅删除括号之间的内容,而不删除括号本身

答案1

你将不得不逃避*as \*。 The 的*特殊之处在于正则表达式和含义匹配前一个事物零次或多次

Vim 中的替换是

:%s/(\*,\*)//g

如果您magic在 Vim 中取消设置该选项,则

:set nomagic

然后仅有的^(“行首”)和$(“行尾”)字符在正则表达式中具有特殊含义。

这意味着替代

:%s/(*,*)//g

会做你想做的事。

大多数人确实希望magic设置该选项(并且在 Vim 中默认设置)。

相关内容