【问题标题】:vim regex : how to replace enclosing backticks with tagsvim 正则表达式:如何用标签替换封闭的反引号
【发布时间】:2020-08-14 15:35:49
【问题描述】:

我在 Markdown 中有这个文档,其中我经常引用要按下的键(当时我不知道 <kbd> 标签!)并将它们括在反引号中。例如,我有很多文本,如 `Shift` 和 `Shift + A` 等...我想将它们转换为 <kbd>Shift<\kbd><kbd>Shift + A<\kbd>,使用 Vim 搜索和替换选项。

目前,我想到的唯一方法是用<kbd> 替换开头的反引号,然后单独<\kbd> 替换结束的反引号。但我想知道这是否可以在单一搜索中完成并使用捕获组或其他东西替换命令?

【问题讨论】:

  • echo '`Shift`' | sed 's/`\([^`][^`]*\)`/<kbd>\1<\\kbd>/g' <kbd>Shift<\kbd>

标签: regex search vim replace


【解决方案1】:

您可以使用替换命令:

%s/`\([^`]\+\)`/<kbd>\1<\/kbd>/g

这会捕获反引号之间的运行并将内部文本替换为包裹的&lt;kbd&gt; 标签。

顺便说一句,&lt;/kbd&gt; 是正确的 HTML 结束标记,所以我假设您想要它而不是 &lt;\kbd&gt;

【讨论】:

    猜你喜欢
    • 2012-04-27
    • 2021-10-04
    • 2011-02-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多