![是否可以在 vim 中为正则表达式子字符串添加别名?](https://linux22.com/image/1375673/%E6%98%AF%E5%90%A6%E5%8F%AF%E4%BB%A5%E5%9C%A8%20vim%20%E4%B8%AD%E4%B8%BA%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F%E5%AD%90%E5%AD%97%E7%AC%A6%E4%B8%B2%E6%B7%BB%E5%8A%A0%E5%88%AB%E5%90%8D%EF%BC%9F.png)
我想使用 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]+)?/