我有一个很长的YAML配置文件,我想对其进行更改。 我想将属性“ url”替换为url的字典,例如
url: https://bla.bla
进入
url: {my_key: https://bla.bla}
因此,基本上,对于在url
键之后找到的给定字符串“ s”,我想将其包装在{key: s}
上
是否有使用基本文本编辑器查找和替换功能的有效方法?我正在使用spacemacs
答案 0 :(得分:2)
您可以运行: Meta + x query-replace-regexp
,对我来说,该映射到 CTRL + Meta < / kbd> + %在“常规” emacs中。
系统提示您输入正则表达式时,您可以尝试:
.*url:[ ]*\(.*\)
或更严格的选项将删除前导和尾随空格:
^.*url:[ ]*\([^ ]+\)[ ]*$
,然后按 RETURN 。
当系统提示您输入替换文本时,请尝试:
{ my_key: \1 }
如果模式匹配,则只需按 y 进行确认,或按!自动确认其余部分。首先备份您的数据。在正则表达式中,括号之间的模式被“捕获”(可以有多个捕获)。在替换中,\ 1被替换为第一个捕获的模式。花一些时间学习正则表达式。它们非常强大。