html - 在VIM的花括号内使文本小写
问题描述
我有许多用于在 mailchimp 中使用的电子邮件模板,这些模板当前正在使用标准合并标签 ala *|SUBJECT|*
。我想将这些模板转换为 Handlebars 使用。
我可以轻松地使用%sno/*|/{{
和%sno/|*\}}
交换标签分隔符,但这给我留下了全大写的名字,比如{{SUBJECT}}
. 是否有一个很好的命令可以在 VIM 中的双花括号内强制小写,这样我就不必寻找和更改每个变量?
更快的问题描述:
我在电子邮件模板中有很多这样的情况:
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>*|SUBJECT|*</title>
我想要这个:
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>{{subject}}</title>
我需要什么 VIM 命令才能到达那里?
解决方案
一口气做完这一切怎么样?
:%s/\*|\(.\{-}\)|\*/{{\L\1\E}}/g
见:help sub-replace-special
。
推荐阅读
- sql - 如何在sqlite中获取数据库中最近的日期时间
- node.js - 在本地运行 angular 和 node.js 项目而不共享代码
- python - Python 正则表达式捕获跨越多行的多个匹配项
- c++ - 将 Mat 传递给线程时,OpenCV C++ 内存泄漏
- tensorflow - 验证损失永远不会减少
- multithreading - 什么是新手的原子操作?
- swift - 谷歌地图内存问题
- amazon-web-services - 如何使用 SSM 调用 AWS Lambda 函数
- java - com.mysql.cj.jdbc.exceptions.MysqlDataTruncation:数据截断:第 1 行的列“矩阵”的数据太长
- javascript - Javascript使用自定义时区以毫秒为单位获取当前时间