搜索并替换为参数

时间:2018-09-10 10:26:48

标签: search replace emacs

我有一个很长的YAML配置文件,我想对其进行更改。 我想将属性“ url”替换为url的字典,例如

url: https://bla.bla

进入

url: {my_key: https://bla.bla}

因此,基本上,对于在url键之后找到的给定字符串“ s”,我想将其包装在{key: s}

是否有使用基本文本编辑器查找和替换功能的有效方法?我正在使用spacemacs

1 个答案:

答案 0 :(得分:2)

您可以运行: Meta + x query-replace-regexp,对我来说,该映射到 CTRL + Meta < / kbd> + 在“常规” emacs中。

系统提示您输入正则表达式时,您可以尝试:

.*url:[ ]*\(.*\)

或更严格的选项将删除前导和尾随空格:

^.*url:[ ]*\([^ ]+\)[ ]*$

,然后按 RETURN

当系统提示您输入替换文本时,请尝试:

{ my_key: \1 }

如果模式匹配,则只需按 y 进行确认,或按自动确认其余部分。首先备份您的数据。在正则表达式中,括号之间的模式被“捕获”(可以有多个捕获)。在替换中,\ 1被替换为第一个捕获的模式。花一些时间学习正则表达式。它们非常强大。