相关疑难解决方法(0)

vim正则表达式只用一个空格替换多个连续的空格

我经常处理具有可变数量的空格的文本文件作为单词分隔符(像Word这样的文本处理器这样做,由于某些字体中不同大小的字母而公平地分配空白量,并且即使在保存为纯文本).

我想自动化用单个空格替换这些具有可变长度的空格序列的过程.我怀疑一个正则表达式可以做到这一点,但是在段落的开头还有空格(通常是四个,但并不总是),我想让它保持不变,所以基本上我的正则表达式也应该不触及前导空格这个增加了复杂性.

我正在使用vim,所以vim正则表达式方言中的正则表达式对我来说非常有用,如果这是可行的话.

我目前的进展如下:

:%s/ \+/ /g
Run Code Online (Sandbox Code Playgroud)

但它无法正常工作.

我也在考虑编写一个可以逐个解析文本行的vim脚本,按char处理每一行char并在第一行之后跳过空格,但我觉得这有点矫枉过正.

regex vim

65
推荐指数
4
解决办法
7万
查看次数

标签 统计

regex ×1

vim ×1