使用正则表达式: 调整github README.md的格式

★ 问题

github中README.md的换行是需要将两行之间加一个空行, 参考Paragraphs and line breaks

如果两行之间没有空行,则这两行会显示在一行里。例如:markdown内容如下:

### **♦ 2.1 编译相关的**

* **make (makefile)**

    GNU Make Manual: https://www.gnu.org/software/make/manual/
    GNU make中文手册: http://vdisk.weibo.com/s/uCRMpDBUxfXHq
    阮一峰老师的 [Make 命令教程](http://www.ruanyifeng.com/blog/2015/02/make.html)

显示效果为:

这里写图片描述

我期望的效果是:(换行效果)

这里写图片描述

★ 解决方法

我的解决方法是,在需要换行的末尾加上<br>

需要加<br>的行的特点是,都是缩进的行。
所以,使用正则表达式来给这些有缩进的行的行尾加上<br>.
在VIM中,利用替换命令,加上正则表达式, 如下:

:81,$s/\(^\s.*\)$/\1 <br>/gc
拆解解释
:VIM中,执行命令,以冒号开始
81,$表示从81行开始,一直到最后一行。
s/<pattern>/<replacement>/表示用<replacement>替换掉<pattern>
gc表示global和confirm,global即全局替换,替换所有情况。confirm表示需要用户确认。
\(^\s.*\)$这是替换命令s中的<pattern>,其中^表示一行的开头,\s表示空白,.*表示任意字符。$表示一行的结尾,\(\)表示括号里的内容在后面要引用到。
\1 <br>这是替换命令s中的<replacement>\1表示引用前面括号中的内容。即把这一行的内容都保留,行尾加上<br>


整体的含义是,将81行到最后一行中的“以空白开头,之后带有任意字符的行”的末尾加上<br>

替换过程中的显示效果:

这里写图片描述

这样也会多出来一些行, 如下图中的黄色高亮的<br>

这里写图片描述

通过命令:%s/ <br>\(\n\n\)/\1/gc,将多余的<br>删除。

拆解解释
:VIM中,执行命令,以冒号开始
%表示文件中所有的行,所有的位置
s/<pattern>/<replacement>/表示用<replacement>替换掉<pattern>
gc表示global和confirm,global即全局替换,替换所有情况。confirm表示需要用户确认。
<br>\(\n\n\)这是替换命令s中的<pattern>,其中<br>就是字面意思,一个字符串而已。\n\n表示2个换行。\(\)表示括号里的内容在后面要引用到。
\1这是替换命令s中的<replacement>\1表示引用前面括号中的内容,即两个换行符。


整体含义是,把<br>后面连续跟着两个换行符的内容替换为两个换行符,即把多余<br>去掉。

最终显示效果,请参考: https://github.com/galian123/MyCheatSheet/blob/master/README.md

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值