是否可以在 vim 中为正则表达式子字符串添加别名?

是否可以在 vim 中为正则表达式子字符串添加别名?

我想使用 vim 查找并替换包含浮点数的模式。我成立对于这些数字,有一个很好的正则表达式:

 [-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?

此表达式使得它出现的任何正则表达式都相当长且令人困惑。而且我可能想要经常使用它。

是否有某种方法vim可以学习该子字符串作为别名,以便我可以搜索类似的内容Value: +[[:float:]]而不是Value: +[-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?

答案1

尽管我不认为您想要的东西存在,但缩写应该可以为您提供帮助。

cabbrev float [-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?

实际上,你可以像这样使用它:

:
:s/
:s/float/
:s/[-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?/

相关内容