【发布时间】:2011-04-21 02:32:01
【问题描述】:
我经常使用具有可变数量的空格作为单词分隔符的文本文件(像 Word 这样的文本处理器这样做是为了公平地分配由于某些字体中字母大小不同而导致的空格数量,并且他们将这个烦人的可变数量的即使保存为纯文本也有空格)。
我想用单个空格自动替换这些长度可变的空格序列的过程。我怀疑正则表达式可以做到这一点,但段落开头也有空格(通常是四个,但并非总是如此),我想让它们保持不变,所以基本上我的正则表达式也不应该触及前导空格,这增加了复杂性。
我正在使用 vim,所以如果可行的话,vim 正则表达式方言中的正则表达式对我非常有用。
我目前的进度是这样的:
:%s/ \+/ /g
但它不能正常工作。
我也在考虑编写一个 vim 脚本,它可以逐行解析文本行,逐个字符处理每一行,并在第一行之后跳过空格,但我觉得这有点矫枉过正。
【问题讨论】:
-
适合重新格式化垂直对齐的代码:)