使用 vim 将 Markdown 标题文件转换为组织标题。

例如,改变这个:

# heading one
body
##heading two
### heading three
body

对此:
* heading one
body
**heading two
****** heading six

只有从第 0 列开始的“#”连续序列应替换为相同数量的“*”。

这仅将第一个 '#' 替换为 '*':
%s/^[#]/*/c

但是最多可以有六个“#”来替代。

最佳答案

使用子字符串表达式

%s/^#\+/\=repeat('*', len(submatch(0)))/
  • 匹配整个 # 引导一行
  • 返回匹配字符串的重复 * 编号长度
  • submatch(0) 表示匹配字符串的整个部分

    关于vim - 使用vim将markdown标题转换为组织标题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44915318/

    10-12 17:25