我想自动化的过程中,用单个空格替换这些可变长度的空白字符序列。我怀疑一个正则表达式可以做到这一点,但在段落的开头也有空格(通常是四个,但不总是),我想让它不变,所以基本上我的正则表达式也不应该触及领先的空白和这个增加了复杂性。
我使用vim,所以在vim regex方言regex将对我非常有用,如果这是可行的。
我目前的进展如下:
:%s/ \+/ /g
但它不能正常工作。
我也考虑写一个vim脚本,可以解析文本行一个一个,处理每一行char by char和跳过第一个后的空格,但我有一种感觉,这将是overkill。
:g/^ /s//XYZZYPara/g :g/ \+/s// /g :g/^XYZZYPara/s// /g
我不怀疑,可能有一个更好的方式(可能使用宏或甚至一个纯正的正则表达式方式),但我通常发现这是工作,当我在匆忙。当然,如果你有从XYZZYPara开始的行,你可能要调整字符串:-)
这是足够好转:
This is a new paragraph spanning two lines. And so is this but on one line.
进入:
This is a new paragraph spanning two lines. And so is this but on one line.
Aside: If you’re wondering why I use
:g
instead of:s
,that’s just habit mostly.:g
can do everything:s
can and so much more. It’s actually a way to execute an arbitrary command on selected lines. The command to execute happens to bes
in this case so there’s no real difference but,if you want to become avi
power user,you should look into:g
at some point.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。